$NetBSD: patch-lpsolve55_ccc,v 1.5 2017/10/29 22:16:03 khorben Exp $ recent versions of gcc are noisy unless main() is declared returning 'int' and isnan() needs a floating argument else NOISNAN is defined causing problems. --- lpsolve55/ccc.orig 2009-03-25 00:27:18.000000000 +0000 +++ lpsolve55/ccc @@ -2,29 +2,34 @@ src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c' c=cc +tmpdir="@WRKDIR@/tmp" +mkdir "$tmpdir" || return 2 + #determine platform (32/64 bit) ->/tmp/platform.c -echo '#include '>>/tmp/platform.c -echo '#include '>>/tmp/platform.c -echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c -$c /tmp/platform.c -o /tmp/platform -PLATFORM=`/tmp/platform` -rm /tmp/platform /tmp/platform.c >/dev/null 2>&1 +>$tmpdir/platform.c +echo '#include '>>$tmpdir/platform.c +echo '#include '>>$tmpdir/platform.c +echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>$tmpdir/platform.c +$c $tmpdir/platform.c -o $tmpdir/platform +PLATFORM=`$tmpdir/platform` +rm $tmpdir/platform $tmpdir/platform.c >/dev/null 2>&1 mkdir bin bin/$PLATFORM >/dev/null 2>&1 #check if this system has the isnan function ->/tmp/isnan.c -echo '#include '>>/tmp/isnan.c -echo '#include '>>/tmp/isnan.c -echo '#include '>>/tmp/isnan.c -echo 'main(){isnan(0);}'>>/tmp/isnan.c -$c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1 +>$tmpdir/isnan.c +echo '#include '>>$tmpdir/isnan.c +echo '#include '>>$tmpdir/isnan.c +echo '#include '>>$tmpdir/isnan.c +echo 'int main(){isnan(0.0);}'>>$tmpdir/isnan.c +$c $tmpdir/isnan.c -o $tmpdir/isnan $math >/dev/null 2>&1 if [ $? = 0 ] then NOISNAN= else NOISNAN=-DNOISNAN fi -rm /tmp/isnan.c /tmp/isnan >/dev/null 2>&1 +rm $tmpdir/isnan.c $tmpdir/isnan >/dev/null 2>&1 + +rmdir $tmpdir def= so= @@ -44,7 +49,7 @@ ranlib bin/$PLATFORM/liblpsolve55.a if [ "$so" != "" ] then $c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src - $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl + $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm $DL_LDADD $LDFLAGS fi rm *.o 2>/dev/null