From 156e745be9f6a1b19b0f8e2a931148786d7acad4 Mon Sep 17 00:00:00 2001 From: Dan Cross Date: Wed, 23 Jul 2025 06:47:21 -0400 Subject: all: remove need for `-fcommon` Use `extern` where appropriate so that we can remove `-fcommon` on macOS and others. On macOS, `-fcommon` generates a number of linker warnings. I've tested building on macOS, Linux, FreeBSD, NetBSD, OpenBSD and illumos. I am not in a position to test on AIX or other more esoteric platforms, however. --- src/cmd/astro/astro.h | 98 +++++++++++++++++++++++++-------------------------- src/cmd/astro/main.c | 48 +++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 49 deletions(-) (limited to 'src/cmd/astro') diff --git a/src/cmd/astro/astro.h b/src/cmd/astro/astro.h index 4648e34e..248dbd88 100644 --- a/src/cmd/astro/astro.h +++ b/src/cmd/astro/astro.h @@ -85,55 +85,55 @@ struct Tim char tz[4]; }; -double converge; - -char flags[128]; -int nperiods; -double wlong, awlong, nlat, elev; -double obliq, phi, eps, tobliq; -double dphi, deps; -double day, deld, per; -double eday, capt, capt2, capt3, gst; -double pi, pipi, radian, radsec, deltat; -double erad, glat; -double xms, yms, zms; -double xdot, ydot, zdot; - -double ecc, incl, node, argp, mrad, anom, motion; - -double lambda, beta, rad, mag, semi; -double alpha, delta, rp, hp; -double ra, decl, semi2; -double lha, decl2, lmb2; -double az, el; - -double meday, seday, mhp, salph, sdelt, srad; - -double* cafp; -char* cacp; - -double rah, ram, ras, dday, dmin, dsec; -long sao; -double da, dd, px, epoch; -char line[100]; -Obj2 osun; -Obj2 omoon; -Obj2 oshad; -Obj2 omerc; -Obj2 ovenus; -Obj2 omars; -Obj2 osat; -Obj2 ouran; -Obj2 onept; -Obj2 oplut; -Obj2 ojup; -Obj2 ostar; -Obj2 ocomet; -Obj3 occ; -Obj2* eobj1; -Obj2* eobj2; - -char* startab; +extern double converge; + +extern char flags[128]; +extern int nperiods; +extern double wlong, awlong, nlat, elev; +extern double obliq, phi, eps, tobliq; +extern double dphi, deps; +extern double day, deld, per; +extern double eday, capt, capt2, capt3, gst; +extern double pi, pipi, radian, radsec, deltat; +extern double erad, glat; +extern double xms, yms, zms; +extern double xdot, ydot, zdot; + +extern double ecc, incl, node, argp, mrad, anom, motion; + +extern double lambda, beta, rad, mag, semi; +extern double alpha, delta, rp, hp; +extern double ra, decl, semi2; +extern double lha, decl2, lmb2; +extern double az, el; + +extern double meday, seday, mhp, salph, sdelt, srad; + +extern double* cafp; +extern char* cacp; + +extern double rah, ram, ras, dday, dmin, dsec; +extern long sao; +extern double da, dd, px, epoch; +extern char line[100]; +extern Obj2 osun; +extern Obj2 omoon; +extern Obj2 oshad; +extern Obj2 omerc; +extern Obj2 ovenus; +extern Obj2 omars; +extern Obj2 osat; +extern Obj2 ouran; +extern Obj2 onept; +extern Obj2 oplut; +extern Obj2 ojup; +extern Obj2 ostar; +extern Obj2 ocomet; +extern Obj3 occ; +extern Obj2* eobj1; +extern Obj2* eobj2; + +extern char* startab; extern int dmo[]; extern Obj2* objlst[]; diff --git a/src/cmd/astro/main.c b/src/cmd/astro/main.c index 43ce4cc4..c9fbf2a5 100644 --- a/src/cmd/astro/main.c +++ b/src/cmd/astro/main.c @@ -1,5 +1,53 @@ #include "astro.h" +double converge; + +char flags[128]; +int nperiods; +double wlong, awlong, nlat, elev; +double obliq, phi, eps, tobliq; +double dphi, deps; +double day, deld, per; +double eday, capt, capt2, capt3, gst; +double pi, pipi, radian, radsec, deltat; +double erad, glat; +double xms, yms, zms; +double xdot, ydot, zdot; + +double ecc, incl, node, argp, mrad, anom, motion; + +double lambda, beta, rad, mag, semi; +double alpha, delta, rp, hp; +double ra, decl, semi2; +double lha, decl2, lmb2; +double az, el; + +double meday, seday, mhp, salph, sdelt, srad; + +double* cafp; +char* cacp; + +double rah, ram, ras, dday, dmin, dsec; +long sao; +double da, dd, px, epoch; +char line[100]; +Obj2 osun; +Obj2 omoon; +Obj2 oshad; +Obj2 omerc; +Obj2 ovenus; +Obj2 omars; +Obj2 osat; +Obj2 ouran; +Obj2 onept; +Obj2 oplut; +Obj2 ojup; +Obj2 ostar; +Obj2 ocomet; +Obj3 occ; +Obj2* eobj1; +Obj2* eobj2; + char* herefile; int -- cgit v1.2.3