Ilya Zakharevich on Wed, 28 Feb 2001 20:44:43 -0500 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
[PATCH] DOSHISH build |
This patch changes the relevant makefiles use $(_O) instead of .o for object file extensions, and makes other relevant changes. It also change the OS/2 build to use -Zmt (use multi-thread CRTL) flags, so is may be used with the "standard" DLLs (previously, a static linking was required). Enjoy, Ilya --- ./config/Makefile.SH-pre Fri Jan 5 12:18:10 2001 +++ ./config/Makefile.SH Fri Feb 9 19:37:26 2001 @@ -47,16 +47,16 @@ hlist="$hlist paridecl" OBJS='' for f in $kernel $basemath $modules $language; do - OBJS="$OBJS $f.o" + OBJS="$OBJS $f\$(_O)" done OBJSGP='' OBJSDGP='' for f in $gp $graph; do - OBJSGP="$OBJSGP $f.o" - OBJSDGP="$OBJSDGP $f-dyn.o" + OBJSGP="$OBJSGP $f\$(_O)" + OBJSDGP="$OBJSDGP $f-dyn\$(_O)" done for f in $inline; do - OBJS="$OBJS $f.o" + OBJS="$OBJS $f\$(_O)" done case "$which_graphic_lib" in @@ -69,7 +69,7 @@ none) gnuplot) PLOTFILE=plotgnuplot.c PLOTCFLAGS= - GNUPLOT_OBJS="bitmap.o term.o util.o version.o stdfn.o" + GNUPLOT_OBJS="bitmap\$(_O) term\$(_O) util\$(_O) version\$(_O) stdfn\$(_O)" PLOTLIBS="$gnuplot_libs" plotrunpath= case "$osname" in @@ -126,6 +126,7 @@ SHELL = $make_sh AS = $AS ASFLAGS = $ASFLAGS +AR = ar CC = $CC CPPFLAGS = -I. -I$src/headers @@ -137,6 +138,10 @@ DLLDFLAGS = $DLLDFLAGS EXTRADLLDFLAGS = $EXTRADLLDFLAGS CPP = $CPP +_O = .o +_A = .a +LIB_PREFIX = lib + RUNPTH = $RUNPTH RUNPTH_FINAL = $RUNPTH_FINAL LDDYN = $LDDYN @@ -205,12 +210,12 @@ gp: gp-$dft ../gp$suffix$exe_suff $libdf all: $exec lib-sta -lib-sta: libpari.a -lib-dyn: libpari.$somake +lib-sta: \$(LIB_PREFIX)pari\$(_A) +lib-dyn: \$(LIB_PREFIX)pari.$somake -libpari.a: \$(OBJS) +\$(LIB_PREFIX)pari\$(_A): \$(OBJS) -\$(RM) \$@ - ar r \$@ \$(OBJS) + \$(AR) r \$@ \$(OBJS) EOT if test -n "$ranlib"; then cat >> $file << EOT @@ -241,7 +246,7 @@ dotest-graphic:: @$doexec -g cleanobj: cleantest - -\$(RM) *.o *.s pariinl.h libpari.* $exec + -\$(RM) *\$(_O) *.s pariinl.h \$(LIB_PREFIX)pari\$(_A) libpari.* $exec clean: cleanobj @@ -309,23 +314,23 @@ install-data: -mkdir -p \$(DATADIR) @-for f in $data/*; do \$(INSTALL_DATA) \$\$f \$(DATADIR); done 2>/dev/null -install-lib-sta: libpari.a +install-lib-sta: \$(LIB_PREFIX)pari\$(_A) -mkdir -p \$(LIBDIR) - -\$(RM) \$(LIBDIR)/libpari.a - \$(INSTALL_DATA) libpari.a \$(LIBDIR)/libpari.a.$version - -\$(LN) libpari.a.$version \$(LIBDIR)/libpari.a + -\$(RM) \$(LIBDIR)/\$(LIB_PREFIX)pari\$(_A) + \$(INSTALL_DATA) \$(LIB_PREFIX)pari\$(_A) \$(LIBDIR)/\$(LIB_PREFIX)pari\$(_A).$version + -\$(LN) \$(LIB_PREFIX)pari\$(_A).$version \$(LIBDIR)/\$(LIB_PREFIX)pari\$(_A) -install-lib-dyn: libpari.$somake +install-lib-dyn: \$(LIB_PREFIX)pari.$somake -mkdir -p \$(LIBDIR) - -\$(RM) \$(LIBDIR)/libpari.$sodest - \$(INSTALL_DATA) libpari.$sodest \$(LIBDIR)/libpari.$sodest + -\$(RM) \$(LIBDIR)/\$(LIB_PREFIX)pari.$sodest + \$(INSTALL_DATA) \$(LIB_PREFIX)pari.$sodest \$(LIBDIR)/\$(LIB_PREFIX)pari.$sodest EOT if test "$somake" != "$sodest"; then cat >> $file << EOT - -\$(RM) \$(LIBDIR)/libpari.$somake - -\$(LN) libpari.$sodest \$(LIBDIR)/libpari.$somake - -\$(RM) \$(LIBDIR)/libpari.$DLSUFFIX - -\$(LN) libpari.$sodest \$(LIBDIR)/libpari.$DLSUFFIX + -\$(RM) \$(LIBDIR)/\$(LIB_PREFIX)pari.$somake + -\$(LN) \$(LIB_PREFIX)pari.$sodest \$(LIBDIR)/\$(LIB_PREFIX)pari.$somake + -\$(RM) \$(LIBDIR)/\$(LIB_PREFIX)pari.$DLSUFFIX + -\$(LN) \$(LIB_PREFIX)pari.$sodest \$(LIBDIR)/\$(LIB_PREFIX)pari.$DLSUFFIX EOT fi @@ -333,34 +338,34 @@ fi if test -z "$DLLD"; then cat >> $file << EOT -libpari.$somake:: +\$(LIB_PREFIX)pari.$somake:: @echo "Configure could not find a way to build a shared library on this machine." EOT else if test -z "$DYNLIBS"; then cat >> $file << EOT -gp-dyn: \$(OBJSGP) libpari.$somake \$(GNUPLOT_OBJS) +gp-dyn: \$(OBJSGP) \$(LIB_PREFIX)pari.$somake \$(GNUPLOT_OBJS) \$(RM) \$@ \$(LD) -o \$@ \$(LDFLAGS) \$(OBJSGP) \$(GNUPLOT_OBJS) \$(RUNPTH) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS) -libpari.$somake: \$(OBJS) - -\$(RM) libpari.$somake +\$(LIB_PREFIX)pari.$somake: \$(OBJS) + -\$(RM) \$(LIB_PREFIX)pari.$somake \$(DLLD) -o \$@ \$(DLLDFLAGS) \$(OBJS) \$(EXTRADLLDFLAGS) EOT # CYGWIN32 FIXME: somake & sodest make no difference... if test "$somake" != "$sodest"; then cat >> $file << EOT - -\$(RM) libpari.$sodest - -\$(MV) libpari.$somake libpari.$sodest - -\$(LN) libpari.$sodest libpari.$somake - -\$(RM) libpari.$DLSUFFIX - -\$(LN) libpari.$sodest libpari.$DLSUFFIX + -\$(RM) \$(LIB_PREFIX)pari.$sodest + -\$(MV) \$(LIB_PREFIX)pari.$somake \$(LIB_PREFIX)pari.$sodest + -\$(LN) \$(LIB_PREFIX)pari.$sodest \$(LIB_PREFIX)pari.$somake + -\$(RM) \$(LIB_PREFIX)pari.$DLSUFFIX + -\$(LN) \$(LIB_PREFIX)pari.$sodest \$(LIB_PREFIX)pari.$DLSUFFIX EOT fi else cat >> $file << EOT -gp-dyn: \$(OBJSDGP) libpari.$somake +gp-dyn: \$(OBJSDGP) \$(LIB_PREFIX)pari.$somake \$(RM) \$@ \$(LD) -o \$@ \$(LDFLAGS) \$(OBJSDGP) \$(RUNPTH) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS) \$(DYNLIBS) EOT @@ -370,7 +375,7 @@ fi if test -n "$GNUPLOT_OBJS"; then cat >> $file << EOT \$(GNUPLOT_OBJS): - ar x $libgnuplot \$(GNUPLOT_OBJS) + \$(AR) x $libgnuplot \$(GNUPLOT_OBJS) EOT fi @@ -422,17 +427,17 @@ for dir in basemath modules language gp plot-dyn) source="$src/graph/\$(PLOTFILE)" cflags="\$(DYNFLAGS) \$(PLOTCFLAGS)" - depend="$src/graph/rect.h libpari.dll libpari_dll.h libpari_globals.h libpari.dll" + depend="$src/graph/rect.h \$(LIB_PREFIX)pari.dll libpari_dll.h libpari_globals.h \$(LIB_PREFIX)pari.dll" ;; gp-dyn|gp_rl-dyn) source=$src\/`echo $dir | sed -e "s/dyn//"`\/`echo $f | cut -f1 -d-`.c cflags="\$(DYNFLAGS) -I$src/language \$(RLINCLUDE)" - depend="$src/language/anal.h $src/gp/gp.h ./paricfg.h libpari_dll.h libpari_globals.h libpari.dll" + depend="$src/language/anal.h $src/gp/gp.h ./paricfg.h libpari_dll.h libpari_globals.h \$(LIB_PREFIX)pari.dll" ;; gp_init-dyn|plotport-dyn) source=$src\/`echo $dir | sed -e "s/dyn//"`\/`echo $f | cut -f1 -d-`.c cflags="\$(DYNFLAGS) -I$src/graph" - depend="$src/graph/rect.h libpari_dll.h libpari_globals.h libpari.dll" + depend="$src/graph/rect.h libpari_dll.h libpari_globals.h \$(LIB_PREFIX)pari.dll" ;; init|es|sumiter) depend="$src/language/anal.h" @@ -446,8 +451,8 @@ for dir in basemath modules language gp esac HUGELINE="$HUGELINE -$f.o: .headers $depend $source - \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) $cflags -o $f.o $source" +$f\$(_O): .headers $depend $source + \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) $cflags -o $f\$(_O) $source" done done #to avoid execing too many "cat". --- ./Configure-pre Fri Feb 2 11:12:20 2001 +++ ./Configure Fri Feb 9 19:41:10 2001 @@ -823,6 +823,7 @@ if test -n "$__gnuc__"; then case "$osname-$arch" in linux-i?86|cygwin*) OPTFLAGS="$OPTFLAGS \ -malign-loops=2 -malign-jumps=2 -malign-functions=2";; + os2-*) CFLAGS=-Zmt;; esac # omit-frame-pointer incompatible with -pg PRFFLAGS="-pg $OPTFLAGS" @@ -938,7 +939,10 @@ case "$osname-$arch" in full|profiling) LDFLAGS="-g0 -O4 $LDFLAGS";; esac;; solaris-*) LD=$CC; LDFLAGS=$cflags; runpathprefix=-R ;; - os2-*) LD=$CC; LDFLAGS="$cflags -Zexe" ;; + os2-*) LD=$CC; LDFLAGS="$cflags -Zexe" + case "$optimization" in + full) LDFLAGS="$LDFLAGS -s";; + esac;; *) LD=$CC; LDFLAGS=$cflags ;; esac @@ -1060,7 +1064,7 @@ if test -n "$readline"; then exe=$osname-$arch-rlv$$ $CC $extraflag $RLINCLUDE -o $exe rl_version.c $RLLIBS 2>/dev/null if test -r $exe; then readline=`$exe`; else readline=1.0; fi - rm -f $exe + rm -f $exe $exe$exe_suff fi ####################### CONFIGURE - LIBC #################################### @@ -1072,7 +1076,7 @@ exe=$osname-$arch-endian$$ if ($CC $extraflag endian.c -o $exe 2>/dev/null); then endian=`$exe`; fi -rm -f $exe +rm -f $exe $exe$exe_suff if test "$fastread" != yes; then cat << EOT --- ./src/kernel/ix86/Makefile.SH-pre Thu Sep 16 09:47:44 1999 +++ ./src/kernel/ix86/Makefile.SH Fri Feb 9 19:32:40 2001 @@ -6,11 +6,11 @@ pariinl.h: $src/kernel/ix86/level0.h $sr cat $src/kernel/ix86/level0.h $src/kernel/none/level1.h > \$@ level0.s: ../src/kernel/ix86/l0asm.c ../src/kernel/ix86/l0asm.h \$(CPP) ../src/kernel/ix86/l0asm.c | sed -e '/^#/d' -e '/^ *#line/d' -e 's/% */%/g' > level0.s -kernel.o: level0.s - \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o kernel.o level0.s -mp.o: .headers $src/kernel/none/mp.c - \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o mp.o $src/kernel/none/mp.c -mpinl.o: .headers $src/kernel/none/level1.h - \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o mpinl.o $src/kernel/none/level1.c +kernel\$(_O): level0.s + \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o kernel\$(_O) level0.s +mp\$(_O): .headers $src/kernel/none/mp.c + \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o mp\$(_O) $src/kernel/none/mp.c +mpinl\$(_O): .headers $src/kernel/none/level1.h + \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o mpinl\$(_O) $src/kernel/none/level1.c EOT