Ilya Zakharevich on Mon, 6 May 2002 15:31:17 -0400 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
[PATCH 2.2.2] Configure support for src/system |
This patch to Configure a) supports src/systems directory (on OS/2); b) removes (the silliness of) compiling the plotSYSTEM.c to plot.o; now the name of the object file matches the name of the C file. "b" is very convenient for the followup patch. "a" is not the most comprehensive OS/2-dynaloading-support patch; to get the full functionality of install() - getting symbols from the PARI library itself - one needs also to compile (manually) PARI as a DLL. Enjoy, Ilya --- ./Configure-pre-system Sat May 4 01:38:18 2002 +++ ./Configure Sun May 5 14:21:50 2002 @@ -1193,6 +1193,10 @@ if test "$has_dlopen" = no; then LIBS="-ldl $LIBS" fi fi +if test "$has_dlopen" = no -a X"$osname" = Xos2; then + echo "Will use the builtin dlopen() support for OS/2..." + has_dlopen=builtin +fi ####################### CONFIGURE - MAKE #################################### dflt=$prefix; rep= --- ./config/Makefile.SH-pre-system Fri Jan 11 01:12:12 2002 +++ ./config/Makefile.SH Sun May 5 14:27:04 2002 @@ -22,7 +22,7 @@ kernel="kernel mp" inline="mpinl" khlist="pariinl" -graph="plot plotport" +graph="plotport" gp="gp gp_init gp_rl highlvl whatnow" case "$osname" in cygwin*) graphdyn="plot-dyn plotport-dyn"; @@ -32,6 +32,10 @@ esac language=`ls $src_dir/language/*.c | sed 's,.*/\(.*\)\.c,\1,'` basemath=`ls $src_dir/basemath/*.c | sed 's,.*/\(.*\)\.c,\1,'` modules=`ls $src_dir/modules/*.c | sed 's,.*/\(.*\)\.c,\1,'` +case "$osname" in + os2) systems=os2;; + *) systems=;; +esac case "$ASMARCH" in m68k) hlist=pari68k @@ -52,30 +56,13 @@ done # We don't want to recompile everything when only changing a prototype hlist="$hlist paridecl" -KERNOBJS='' -for f in $kernel; do - KERNOBJS="$KERNOBJS $f\$(_O)" -done -OBJS=$KERNOBJS -for f in $basemath $modules $language; do - OBJS="$OBJS $f\$(_O)" -done -OBJSGP='' -OBJSDGP='' -for f in $gp $graph; do - OBJSGP="$OBJSGP $f\$(_O)" - OBJSDGP="$OBJSDGP $f-dyn\$(_O)" -done -for f in $inline; do - OBJS="$OBJS $f\$(_O)" -done - case "$which_graphic_lib" in none) PLOTFILE=plotnull.c PLOTCFLAGS= PLOTLIBS= plotrunpath= + graph="$graph plotnull" ;; gnuplot) PLOTFILE=plotgnuplot.c @@ -87,6 +74,14 @@ gnuplot) os2) libgnuplot=$gnuplot/gnuplot.a;; *) libgnuplot=$gnuplot/libgnuplot.a;; esac + graph="$graph plotgnuplot" + ;; +gnuplot-dynamic) + PLOTFILE=plotgnuplot.c + PLOTCFLAGS="-DDYNAMIC_PLOTTING -DDYNAMIC_PLOTTING_RUNTIME_LINK=NULL" + PLOTLIBS= + plotrunpath= + graph="$graph plotgnuplot" ;; X11) PLOTFILE=plotX.c @@ -94,9 +89,29 @@ X11) PLOTLIBS="-L$X11 -lX11 $extralib" if test "$osname" = concentrix; then PLOTLIBS="-lX11"; fi plotrunpath=$X11 + graph="$graph plotX" ;; esac +KERNOBJS='' +for f in $kernel; do + KERNOBJS="$KERNOBJS $f\$(_O)" +done +OBJS=$KERNOBJS +for f in $basemath $modules $language $systems; do + OBJS="$OBJS $f\$(_O)" +done +OBJSGP='' +OBJSDGP='' + +for f in $gp $graph; do + OBJSGP="$OBJSGP $f\$(_O)" + OBJSDGP="$OBJSDGP $f-dyn\$(_O)" +done +for f in $inline; do + OBJS="$OBJS $f\$(_O)" +done + case "$runpathprefix" in -R) RUNPTH_FINAL="-R$runpath" if test -n "$plotrunpath"; then @@ -131,6 +146,11 @@ case "$static" in y) dft=sta; libdft= ;; esac +CPPFLAGS="-I. -I$src/headers" +if test "$has_dlopen" = builtin -a X"$osname" = Xos2; then + CPPFLAGS="$CPPFLAGS -I$src/systems/os2" +fi + cat > $file << EOT # Makefile for Pari/GP -- $pretty # @@ -144,7 +164,7 @@ ASFLAGS = $ASFLAGS AR = ar CC = $CC -CPPFLAGS = -I. -I$src/headers +CPPFLAGS = $CPPFLAGS CFLAGS = $cflags LD = $LD LDFLAGS = $LDFLAGS @@ -510,7 +530,7 @@ if test -s $src_dir/kernel/$ASMARCH/Make . $src_dir/kernel/$ASMARCH/Makefile.SH fi HUGELINE= -for dir in basemath modules language gp graph gpdyn graphdyn; do +for dir in basemath modules language gp graph gpdyn graphdyn systems; do eval list='$'$dir for f in $list; do @@ -518,11 +538,6 @@ for dir in basemath modules language gp depend= cflags= case "$f" in - plot) - source="$src/graph/\$(PLOTFILE)" - cflags="\$(PLOTCFLAGS)" - depend="$src/graph/rect.h" - ;; gp|gp_rl) cflags="-I$src/language \$(RLINCLUDE)" depend="$src/language/anal.h $src/gp/gp.h ./paricfg.h" @@ -531,10 +546,13 @@ for dir in basemath modules language gp cflags="-I$src/graph" depend="$src/graph/rect.h" ;; - plot-dyn) - source="$src/graph/\$(PLOTFILE)" + plot*-dyn) cflags="\$(DYNFLAGS) \$(PLOTCFLAGS)" depend="$src/graph/rect.h \$(LIBPARI).dll libpari_dll.h libpari_globals.h \$(LIBPARI).dll" + ;; + plot*) + cflags="\$(PLOTCFLAGS)" + depend="$src/graph/rect.h" ;; gp-dyn|gp_rl-dyn) source=$src\/`echo $dir | sed -e "s/dyn//"`\/`echo $f | cut -f1 -d-`.c --- ./config/paricfg.h.SH-pre-system Wed Oct 17 04:51:32 2001 +++ ./config/paricfg.h.SH Sun May 5 14:23:16 2002 @@ -141,7 +141,7 @@ yes) echo '#define USE_SIGRELSE 1' >> $f esac case $has_dlopen in -yes) cat >> $file << EOT +yes|builtin) cat >> $file << EOT #define HAS_DLOPEN #define DL_DFLT_NAME "libpari.$sodest" EOT