|
|
|
@ -2,12 +2,22 @@ |
|
|
|
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 |
|
|
|
|
|
|
|
if [ "$ARCH" = "" ]; then |
|
|
|
CFLAGS = -m32 |
|
|
|
fi |
|
|
|
if [ "$ARCH" = "amd64" ]; then |
|
|
|
CFLAGS = -m64 -fPIC -DPIC |
|
|
|
fi |
|
|
|
if [ "$ARCH" = "" ]; then |
|
|
|
CFLAGS = -fPIC -DPIC |
|
|
|
fi |
|
|
|
|
|
|
|
#determine platform (32/64 bit) |
|
|
|
>/tmp/platform.c |
|
|
|
echo '#include <stdlib.h>'>>/tmp/platform.c |
|
|
|
echo '#include <stdio.h>'>>/tmp/platform.c |
|
|
|
echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c |
|
|
|
$c /tmp/platform.c -o /tmp/platform |
|
|
|
$c $CFLAGS /tmp/platform.c -o /tmp/platform |
|
|
|
PLATFORM=`/tmp/platform` |
|
|
|
rm /tmp/platform /tmp/platform.c >/dev/null 2>&1 |
|
|
|
|
|
|
|
@ -19,7 +29,7 @@ echo '#include <stdio.h>'>>/tmp/isnan.c |
|
|
|
echo '#include <stdlib.h>'>>/tmp/isnan.c |
|
|
|
echo '#include <math.h>'>>/tmp/isnan.c |
|
|
|
echo 'main(){isnan(0);}'>>/tmp/isnan.c |
|
|
|
$c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1 |
|
|
|
$c $CFLAGS /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1 |
|
|
|
if [ $? = 0 ] |
|
|
|
then NOISNAN= |
|
|
|
else NOISNAN=-DNOISNAN |
|
|
|
@ -37,14 +47,14 @@ fi |
|
|
|
|
|
|
|
opts='-O3' |
|
|
|
|
|
|
|
$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src |
|
|
|
$c $CFLAGS -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src |
|
|
|
ar rv bin/$PLATFORM/liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` |
|
|
|
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 $CFLAGS -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 $CFLAGS -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 |
|
|
|
mv bin/$PLATFORM/liblpsolve55.so ../../../lib |
|
|
|
fi |
|
|
|
|
|
|
|
|