Browse Source

Add Cygwin lpsolve55 build script (untested).

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6231 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 13 years ago
parent
commit
5b5a5ed52d
  1. 6
      prism/ext/lpsolve55/Makefile
  2. 51
      prism/ext/lpsolve55/src/lp_solve_5.5/lpsolve55/ccc.cygwin

6
prism/ext/lpsolve55/Makefile

@ -15,6 +15,12 @@ ifeq ($(OSTYPE),darwin)
LPSOLVE55_BUILD=ccc.osx32
endif
endif
ifeq ($(OSTYPE),cygwin)
LPSOLVE55_BUILD=ccc.cygwin
endif
ifeq ($(OSTYPE),solaris)
LPSOLVE55_BUILD=ccc.solaris
endif
default: all

51
prism/ext/lpsolve55/src/lp_solve_5.5/lpsolve55/ccc.cygwin

@ -0,0 +1,51 @@
:
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
#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
PLATFORM=`/tmp/platform`
rm /tmp/platform /tmp/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 <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
if [ $? = 0 ]
then NOISNAN=
else NOISNAN=-DNOISNAN
fi
rm /tmp/isnan.c /tmp/isnan >/dev/null 2>&1
def=
so=
if [ "$PLATFORM" = "SCO_UNIX" ]
then def='-dy -K PIC -DNOLONGLONG'
dl=-lc
else dl=-ldl
so=y
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 -mno-cygwin $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 -mno-cygwin $src
$c -shared -Wl,--add-stdcall-alias -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.dll -mno-cygwin -o bin/$PLATFORM/liblpsolve55.dll `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl
mv bin/$PLATFORM/liblpsolve55.dll ../../../lib
fi
rm *.o 2>/dev/null
Loading…
Cancel
Save