# THIS FILE CONTAINS COMPILE OPTION FLAGS FOR DIFFERENT OPERATING
# SYSTEM.  EACH LINE IS A COMPILE OPTION FIELD FOLLOWED BY THE OPTIONS. 
# LINES WHICH START WITH ARE COMMENT LINES.

# COMPILE FLAGS ARE:
#
#   CBASE    - THE BASE COMPILE FLAGS - SHOULDN'T NEED TO CHANGE THESE
#   CADD     - COMPILE FLAGS ADDED TO THE BASE FLAGS
#   CSO      - COMPILE FLAGS ADDED TO CBASE AND CADD WHEN BUILDING SHARED 
#              OBJECT LIBRARIES
#   LD_FLAGS - LOADER FLAGS USED WHEN BUILDING SHARED OBJECT LIBRARIES
#   SO_EXT   - SHARED OBJECT LIBRARY EXTENSION, GENERALLY so BUT DARWIN USES
#              dylib AND THERE ARE A FEW OTHER NON-CONVENTIONAL EXTENSIONS
#   LD -     - HOW TO INVOKE LOADER WHEN BUILDING SHARED OBJECT LIBRARIES 
#   CSYS     - ANY DEFINITION FLGAS (UnIx or CyGnUsC required)
#   EXT      - ANY EXTENSION TO ADD TO EXECUTABLES (.exe Cygwin and Windows)
#   XLIB     - THE COMPLETE PATH TO THE X-LIBRARY TO LINK INTO (ONLY NEEDED
#              IF GENERAL COMPILE IS UNABLE TO LOCATE THE LIBRARY)

# SOMETIMES, ESPECIALLY ON MACS YOU DIFFERENT COMPILE OPTIONS WHEN COMPILING
#    AN LINKING INTO IDL.  IF SO USE THE ABOVE OPTIONS BUT WITH .IDL APPENDED

# GENERAL COMENTS
#    
#    ON LINUX/UNIX BASED SYSTEMS YOU WANT AS A MINIMUM
#
#    CTYPE    SHARED
#    CBASE    -Wall -fsigned-char
#    CSYS     -D_UnIx
#
#    ON CYGWIN BASED WINDOWS SYSTEMS YOU WANT
#
#    CYGWIN  YES
#    CBASE   -Wall -fsigned-char
#    CSYS    -D_CyGnUsC
#    EXT     .exe
#    CTYPE   STATIC
#
#    ON A STRAIGHT WINDOWS SYSTEM YOU WANT
#
#    CYGWIN  NO
#
#    SINCE THERE IS NO COMPILING (AT PRESENT) DONE ON PURE WINDOWS SYSTEM 

# EACH SECTION BELOW DEFINES THE COMPILE OPTIONS FOR A PLATFORM RETURNED
#    BY THE TCL COMMAND $tcl_platform(os)
#    IF YOUR OS ISN'T FOUND IN THE LIST YOU NEED TO ADD ONE UNLESS THE
#    DEFAULT VALUES WORK FOR YOU. 


BEGIN WINDOW
   CYGWIN  NO
   CTYPE   STATIC
END   WINDOW

BEGIN Linux
   CTYPE     SHARED
   CSYS      -D_UnIx
   CADD      -march=corei7-avx -mtune=corei7-avx -O2
   CBASE     -Wall -pipe -fsigned-char
   CSO       -fPIC -shared 
   SO_EXT    so
   LD        ld
   LD_FLAGS  -shared
END LINUX

BEGIN HP_UX
   CTYPE     SHARED
   CSYS      -D_UnIx
   CBASE     -Wall -fsigned-char
   CSO       -fPIC -shared
   SO_EXT    sl
   LD        ld
   LD_FLAGS  -b -Brestricted +s
END HP_UX

BEGIN OSF1
   CTYPE     SHARED
   CSYS      -D_UnIx
   CBASE     -Wall -fsigned-char
   CSO       -fPIC -shared
   SO_EXT    so
   LD        ld
   LD_FLAGS  -expect_unresolved '*' -shared -all
END OSF1

BEGIN SUNOS
   CTYPE     SHARED
   CSYS      -D_UnIx
   CBASE     -Wall -fsigned-char
   CSO       -fPIC -shared
   SO_EXT    so
   LD        ld
   LD_FLAGS  -G
END SUNOS

BEGIN DARWIN
   CTYPE     SHARED
   CSYS      -D_UnIx
   CBASE     -Wall -fsigned-char
   CSO       -no-integrated-cpp -dynamic -fPIC -fno-common -D_REENTRANT
   SO_EXT    dylib
   LD        cc
   LD_FLAGS  -dynamiclib -v -flatspace
END DARWIN

BEGIN DEFAULT
   CTYPE     SHARED
   CSYS      -D_UnIx
   CBASE     -Wall -fsigned-char
   CSO       -fPIC -shared
   LD_FLAGS  -shared
   SO_EXT    so
   LD        ld
END DEFAULT
