complink.gms : Compile and link external equation libraries

Description

This model is used for compiling and linking of external equation libraries.


Small Model of Type : GAMS


Category : GAMS Test library


Main file : complink.gms

$title Compile and link external equation libraries (COMPLINK,SEQ=578)

$onText
This model is used for compiling and linking of external equation libraries.
$offText


$log --- External Equation Compile and Linking for build code %system.buildcode%
*$log %lang% %cb% %libname% %files% %namestub%
*$log %sysenv.LD_LIBRARY_PATH%

$ifThen.out %system.buildcode%==WEI
$ifThen.wei %lang%==java
$  call javac %files%
$  set JDK "%sysenv.JPATHs%\..\"
$  set files %namestub%wrap.c "%JDK%lib\jvm.lib" -I"%JDK%include" -I"%JDK%include\win32"
$  set lang c
$endIf.wei
$ifI %lang%==fortran90 $call ifort -Fe%libname% -fpp -DWEI -LD -MT -nologo %files%
$ifI %lang%==c         $call cl -DGE_EXPORTS -Fe%libname% -LD %files%
$ifI %lang%==delphi    $call p3pc -B %files%
$if errorlevel 1 $abort problems compiling and linking

$elseIf.out %system.buildcode%==LEG
$ifThen.leg %lang%==java
$  set JDK %sysenv.JPATH%/..
$  call javac %files%
$  set files %namestub%wrap.c
$set files %files% -I%JDK%/lib/jvm/java-openjdk/include -I%JDK%/lib/jvm/java-openjdk/include/linux -L%JDK%/lib/jvm/jre/lib/server
$  set files %files% -ljvm
$  set lang c
$endIf.leg
$ifI %lang%==fortran90 $call gfortran -std=legacy -fPIC -nostartfiles -shared -Wl,-Bsymbolic -o %libname% %files% -lm
$ifI %lang%==c         $call gcc -fPIC -nostartfiles -shared -Wl,-Bsymbolic -o %libname% %files% -lm
$ifI %lang%==delphi    $call p3pc -B %files%
$if errorlevel 1 $abort problems compiling and linking

$elseIf.out %system.buildcode%==DEG
*$ifThen.deg %lang%==java
*$  set JDK /usr/
*$  set LIB /usr/local/src/gcc_4_5_3_release/libjava/
*$  call %JDK%bin/javac %files%
*$  set files %namestub%wrap.c -I"%LIB%include" -I"%LIB%classpath/include/" -ljvm -L/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries
*$  set lang c
*$endIf.deg
$ifI %lang%==fortran90 $call gfortran -std=legacy -fPIC -nostartfiles -shared -o %libname% %files% -lm
$ifI %lang%==c         $call gcc -fPIC -dynamiclib -shared -o %libname% %files% -lm -ldl > runcc
$ifI %lang%==c         $call cat ./runcc && source ./runcc
$ifI %lang%==delphi    $call p3pc -B %files%
$if errorlevel 1 $abort problems compiling and linking

$elseIf.out %system.buildcode%==DAC
$ifI %lang%==fortran90 $call gfortran -std=legacy -fPIC -nostartfiles -shared -o %libname% %files% -lm
$ifI %lang%==c         $call clang -fPIC -dynamiclib -shared -o %libname% %files% -lm -ldl > runcc
$ifI %lang%==c         $call cat ./runcc && source ./runcc
$ifI %lang%==delphi    $call p3pc -B %files%
$if errorlevel 1 $abort problems compiling and linking

$else.out
$abort Unknown build code %system.buildcode%
$endIf.out