From 3ae6198e3c2ad7fb2a172c441392c363f53fcb7a Mon Sep 17 00:00:00 2001 From: laheller Date: Sun, 23 Nov 2025 16:07:44 +0100 Subject: [PATCH] Add Windows DLL support. MNT: upgrade all github actions and pin them to hashes SEC: disable all default permissions at workflow level Add Windows DLL support. Add Windows DLL support. Add Windows DLL support. Add DEF file for Windows shared library Delete Visual Studio project files Setup CI & meson to build Windows DLL Fix erfa.def Add Windows DLL support. Cleanup Add Windows DLL support. Create shared library only for Windows Test CI build using LIBRARY = erfa.dll Fix erfa.def Add Windows DLL support. Fix erfa.def Add Windows DLL support. Fix src/erfaversion.c Add Windows DLL support. --- .github/workflows/ci_workflows.yml | 2 +- src/meson.build | 1 + windows/erfa.def | 256 +++++++++++++++++++++++++++++ 3 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 windows/erfa.def diff --git a/.github/workflows/ci_workflows.yml b/.github/workflows/ci_workflows.yml index 732cd6a..5cfd231 100644 --- a/.github/workflows/ci_workflows.yml +++ b/.github/workflows/ci_workflows.yml @@ -103,7 +103,7 @@ jobs: run: pip install --pre meson ninja - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - name: configure - run: meson setup builddir --fatal-meson-warnings -Ddefault_library=static + run: meson setup builddir --fatal-meson-warnings -Ddefault_library=shared - name: build run: ninja -C builddir - name: check diff --git a/src/meson.build b/src/meson.build index aab697c..0f75268 100644 --- a/src/meson.build +++ b/src/meson.build @@ -38,6 +38,7 @@ liberfa = library( 'xy06.c', 'xys00a.c', 'xys00b.c', 'xys06a.c', 'zp.c', 'zpv.c', 'zr.c', 'erfaversion.c', 'erfadatextra.c', dependencies: libm, + vs_module_defs: '../windows/erfa.def', version: soversion, install: true, ) diff --git a/windows/erfa.def b/windows/erfa.def new file mode 100644 index 0000000..2ee944c --- /dev/null +++ b/windows/erfa.def @@ -0,0 +1,256 @@ +VERSION 0.1 +EXPORTS + eraCal2jd + eraEpb + eraEpb2jd + eraEpj + eraEpj2jd + eraJd2cal + eraJdcalf + eraAb + eraApcg + eraApcg13 + eraApci + eraApci13 + eraApco + eraApco13 + eraApcs + eraApcs13 + eraAper + eraAper13 + eraApio + eraApio13 + eraAtcc13 + eraAtccq + eraAtci13 + eraAtciq + eraAtciqn + eraAtciqz + eraAtco13 + eraAtic13 + eraAticq + eraAticqn + eraAtio13 + eraAtioq + eraAtoc13 + eraAtoi13 + eraAtoiq + eraLd + eraLdn + eraLdsun + eraPmpx + eraPmsafe + eraPvtob + eraRefco + eraEpv00 + eraMoon98 + eraPlan94 + eraFad03 + eraFae03 + eraFaf03 + eraFaju03 + eraFal03 + eraFalp03 + eraFama03 + eraFame03 + eraFane03 + eraFaom03 + eraFapa03 + eraFasa03 + eraFaur03 + eraFave03 + eraBi00 + eraBp00 + eraBp06 + eraBpn2xy + eraC2i00a + eraC2i00b + eraC2i06a + eraC2ibpn + eraC2ixy + eraC2ixys + eraC2t00a + eraC2t00b + eraC2t06a + eraC2tcio + eraC2teqx + eraC2tpe + eraC2txy + eraEo06a + eraEors + eraFw2m + eraFw2xy + eraLtp + eraLtpb + eraLtpecl + eraLtpequ + eraNum00a + eraNum00b + eraNum06a + eraNumat + eraNut00a + eraNut00b + eraNut06a + eraNut80 + eraNutm80 + eraObl06 + eraObl80 + eraP06e + eraPb06 + eraPfw06 + eraPmat00 + eraPmat06 + eraPmat76 + eraPn00 + eraPn00a + eraPn00b + eraPn06 + eraPn06a + eraPnm00a + eraPnm00b + eraPnm06a + eraPnm80 + eraPom00 + eraPr00 + eraPrec76 + eraS00 + eraS00a + eraS00b + eraS06 + eraS06a + eraSp00 + eraXy06 + eraXys00a + eraXys00b + eraXys06a + eraEe00 + eraEe00a + eraEe00b + eraEe06a + eraEect00 + eraEqeq94 + eraEra00 + eraGmst00 + eraGmst06 + eraGmst82 + eraGst00a + eraGst00b + eraGst06 + eraGst06a + eraGst94 + eraPvstar + eraStarpv + eraFk425 + eraFk45z + eraFk524 + eraFk52h + eraFk54z + eraFk5hip + eraFk5hz + eraH2fk5 + eraHfk5z + eraStarpm + eraEceq06 + eraEcm06 + eraEqec06 + eraLteceq + eraLtecm + eraLteqec + eraG2icrs + eraIcrs2g + eraEform + eraGc2gd + eraGc2gde + eraGd2gc + eraGd2gce + eraD2dtf + eraDat + eraDtdb + eraDtf2d + eraTaitt + eraTaiut1 + eraTaiutc + eraTcbtdb + eraTcgtt + eraTdbtcb + eraTdbtt + eraTttai + eraTttcg + eraTttdb + eraTtut1 + eraUt1tai + eraUt1tt + eraUt1utc + eraUtctai + eraUtcut1 + eraAe2hd + eraHd2ae + eraHd2pa + eraTpors + eraTporv + eraTpsts + eraTpstv + eraTpxes + eraTpxev + eraA2af + eraA2tf + eraAf2a + eraAnp + eraAnpm + eraD2tf + eraTf2a + eraTf2d + eraRx + eraRy + eraRz + eraCp + eraCpv + eraCr + eraP2pv + eraPv2p + eraIr + eraZp + eraZpv + eraZr + eraRxr + eraTr + eraRxp + eraRxpv + eraTrxp + eraTrxpv + eraRm2v + eraRv2m + eraPap + eraPas + eraSepp + eraSeps + eraC2s + eraP2s + eraPv2s + eraS2c + eraS2p + eraS2pv + eraPdp + eraPm + eraPmp + eraPn + eraPpp + eraPpsp + eraPvdpv + eraPvm + eraPvmpv + eraPvppv + eraPvu + eraPvup + eraPvxpv + eraPxp + eraS2xpv + eraSxp + eraSxpv + eraVersion + eraVersionMajor + eraVersionMinor + eraVersionMicro + eraSofaVersion + eraGetLeapSeconds + eraSetLeapSeconds