Commit graph

40 commits

Author SHA1 Message Date
Martin Kinkelin
47771d49fd Get rid of obsolete DMC special cases 2024-05-25 19:34:44 +02:00
richard (rikki) andrew cattermole
ad6e0c7a27 Kill off OMF support 2024-05-03 18:24:36 +12:00
Johan Engelen
afc38e9dca
Make distinction between CC and CXX in the testsuite. (#16434)
Clang makes a distinction between clang and clang++. In particular, clang++ will give a warning when it is passed `.c` source files; and the extra output warning text means that dmd testsuite output checking fails. The warning can be silenced (-Wno-deprecated) but then other tests will fail because `#ifdef __cplusplus` will be true, leading to header file import issues.
2024-05-03 07:30:55 +08:00
Martin Kinkelin
5d4f4e11b4 GHA Windows: Make sure building compiler/druntime/Phobos does NOT need an MSVC env anymore
After #16248.
2024-03-04 10:52:02 +08:00
Rainer Schuetze
95f4ad91a3 move PATH modification to makefile to allow running both debug and release unittests 2024-01-03 11:50:55 +01:00
Rainer Schuetze
f9a2557c72
fix issue 4071 and others: shared runtime DLL for Windows (#14849)
Allow exporting all generated symbols (including internal symbols).
Implement switch `-dllimport` ( windows only, not restricted to `extern(D)`)

Still to do:
* running shared module ctors
* running thread local module ctors
* registering DATA/TLS ranges with the GC
* exceptions
2023-12-31 05:26:57 +08:00
Martin Kinkelin
f3f89ca5b6 CI: Adapt to generic Makefile for Phobos 2023-12-18 17:10:31 +08:00
Martin Kinkelin
4ad93e00ea Azure CI: Add x86 (COFF) job based on windows.sh 2023-12-18 07:29:32 +08:00
Martin Kinkelin
28cbd2fe8f druntime: Merge test/stdcpp/win64.mak into Makefile 2023-12-18 07:29:32 +08:00
Martin Kinkelin
b99b9d2c20 druntime: Make most *test* Makefiles usable on Windows too
Still to do: `test/{shared,stdcpp}`.
2023-12-18 07:29:32 +08:00
Martin Kinkelin
bc793e59e9 druntime: Rename posix.mak to Makefile 2023-12-18 07:29:32 +08:00
Martin Kinkelin
30cca65a69 druntime: Merge win32.mak into posix.mak 2023-12-18 07:29:32 +08:00
Martin Kinkelin
eda80e21a4 Azure CI: Switch to GNU make for building druntime on Windows 2023-12-18 07:29:32 +08:00
Martin Kinkelin
b5fb3b1eb8
Azure CI: Avoid deprecated compiler/src/win{32,64}.mak Makefiles (#15835)
* Azure CI: Avoid deprecated compiler/src/win{32,64}.mak Makefiles

Using build.d directly instead.

* Azure CI: Fix MODEL=32omf job
2023-11-21 10:16:02 +02:00
Iain Buclaw
c637c6ad16
Update downloads.dlang.org links to use https (#14516) 2022-10-05 05:10:57 +03:00
Iain Buclaw
09d04945bd Fix build script paths to work with new merged repository structure
Co-Authored-By: Geod24 <pro.mathias.lang@gmail.com>
Co-Authored-By: Martin Kinkelin <noone@nowhere.com>
Co-Authored-By: Vladimir Panteleev <git@cy.md>
2022-07-09 23:49:27 +02:00
Walter Bright
331e7ca1a7
ImportC preprocess Win32 C programs with sppn.exe (#14090) 2022-05-12 12:17:36 +03:00
MoonlightSentinel
60f914827f
Translate MODEL=32omf for older host compilers
`run.d` / `windows.sh` may use older host compilers that don't support
`-m32omf`. So default to `-m32` using the proper bitness even though
it may use a different object format.
2022-01-25 21:58:00 +01:00
MoonlightSentinel
44a42b7bfa
Restore OMF build and re-enable tests for MODEL=32omf
To restore the coverage until the deprecation ends
2022-01-25 19:42:12 +01:00
MoonlightSentinel
76fbc3b668
Temporarily disable dmd tests for MODEL=32omf
The new switch `-m32omf` doesn't seem to work as expected and hence
causes several tests to fail.
2022-01-25 15:13:14 +01:00
MoonlightSentinel
89fd6f941e
Adapt windows.sh to the new default for -m32
Recognize `MODEL=32omf` instead of the previously used `MODEL=32`.
2022-01-25 15:11:47 +01:00
Nicholas Wilson
7d1f4440f8
Produce MS Coff by default when targetting windows (#13110)
* Produce MS Coff by default when targetting windows

This rebases #12825 but doesn't attempt to rename phobos libraries and doesn't change the build infra where possible(and doesn't have a large diff in `link.d`). See if this fixes the CI issues.

* remove OMF piplines

* Update glue.d

* Update target.d

* Update target.d

* Update frontend.h
2022-01-21 10:09:52 +02:00
MoonlightSentinel
bb9fec36a0
Try continueOnError: true 2022-01-13 02:43:56 +01:00
MoonlightSentinel
9ff5805c1d Switch to new CodeCov uploader
The currently used bash uploader is deprecated and will be removed in
the future[1]. This commit replaces the existing setup with the new
uploader for all currently supported platforms as proposed in [2].

Additional notes:
- FreeBSD support isn't supported yet and keeps using the old uploader
- Moved the new implementation into a dedicated file `source`d by
  all coverage CI's (instead of changing each individual configuration)

[1] https://about.codecov.io/blog/codecov-uploader-deprecation-plan
[2] https://about.codecov.io/blog/introducing-codecovs-new-uploader
2021-10-27 07:37:27 +00:00
MoonlightSentinel
85e095203c Issue 21519 - Generate coverage reports for Win64 on Azure
Current coverage report is linux only, this adds reports for Win64.

Win32 is currently excluded because dmd fails the test suite with weird
linker errors when using  coverage build.
2021-01-12 10:25:01 +01:00
Martin Kinkelin
27ccc930b1 Azure CI: Include DMD unittests for non-MSBuild jobs 2020-09-30 20:20:56 +02:00
Martin Kinkelin
1e9900c4b8 Azure CI: Include Phobos unittests for non-LDC jobs
Unfortunately, compilation fails for Win32 OMF, so the Phobos unittests
are still not CI-tested at all for that target...
2020-09-30 20:20:41 +02:00
Martin Kinkelin
d456c7c500 Fix Azure CI (no DM make in latest DMD 2.094.0) 2020-09-25 17:48:25 +02:00
Sebastian Wilzbach
8f4bee9fe6 Use default argument set for bootstrap builds 2020-08-30 22:46:22 +02:00
Sebastian Wilzbach
7f05a442aa Disable unit_tests on older bootstrap builds 2020-08-30 20:17:22 +02:00
Martin Kinkelin
07ec5cdbb1 Add build option ENABLE_ASSERTS and use it for CI
To finally have DMD's own assertions properly CI-tested. Assertions have
so far only been enabled for CircleCI (reduced testsuite on Linux x64)
and one Azure job (Win64 debug).
2020-08-24 10:41:14 +02:00
Martin Kinkelin
e372f407f8 Use a different variant to compile all testsuite tools with the host compiler 2020-06-26 18:50:18 +02:00
Martin Kinkelin
104f8cfb94 Azure CI OMF job: Link testsuite tools with correct phobos.lib
Previously, the tools were compiled by the DMD host compiler, but linked
with freshly compiled druntime/Phobos, leading to inevitable issues
popping up in dlang/druntime#3141 and dlang/druntime#3142.
2020-06-26 02:41:38 +02:00
MoonlightSentinel
f092f2c1ab
Remove recursive make and DMD_TESTSUITE_MAKE_ARGS 2020-03-18 17:01:50 +01:00
Rainer Schuetze
9b1522d8e7 azure: run druntime tests for x64 and OMF builds, too 2019-12-22 10:46:34 +01:00
Rainer Schuetze
73df16b5cd azure: enable build and test of debug compiler 2019-08-17 09:48:16 +02:00
Rainer Schuetze
9aee71b6a9 azure: add OMF build with LATEST dmd, do not download some files if already existing, simplify space handling 2019-08-01 07:39:46 +02:00
Sebastian Wilzbach
5106962557 Move common Azure Shell scripts into lib.sh 2019-04-12 00:19:16 +02:00
Martin Kinkelin
6d03416ed4 Tweak parallelization when building test tools
The d_do_test and sanitize_json rules can be processed in parallel.
Additionally, the d_do_test executable can be built while its unittests
are built & run in the background (both take around 8 seconds on my box
with LDC).
These tools are prerequisites for the runnable/compilable/fail tests and
are thus built before running the actual tests.
These changes save a total of about 10 seconds on my box with LDC.

The best parallelization for a full test run is achieved via
`DMD_TESTSUITE_MAKE_ARGS="-j<N>" make start_all_tests`; the CI scripts
have been adapted accordingly.
2019-03-12 00:48:07 +01:00
Sebastian Wilzbach
9c8a55925d Setup Azure Pipelines for DMD 2019-03-03 14:08:13 +01:00