######################################################################### # # # OCaml # # # # Xavier Leroy, projet Cristal, INRIA Rocquencourt # # # # Copyright 1999 Institut National de Recherche en Informatique et # # en Automatique. All rights reserved. This file is distributed # # under the terms of the GNU Library General Public License, with # # the special exception on linking described in file ../LICENSE. # # # ######################################################################### ### Compile-time configuration ########## General configuration ### Where to install the binaries BINDIR=/usr/local/bin ### Where to install the standard library LIBDIR=/usr/local/lib/ocaml STUBLIBDIR=$(LIBDIR)/stublibs ### Where to install the man pages # Man pages for commands go in $(MANDIR)/man$(MANEXT) # Man pages for the library go in $(MANDIR)/mano MANDIR=/usr/local/man MANEXT=1 ### Do #! scripts work on your system? ### Beware: on some systems (e.g. SunOS 4), this will work only if ### the string "#!$(BINDIR)/ocamlrun" is less than 32 characters long. ### In doubt, set SHARPBANGSCRIPTS to false. SHARPBANGSCRIPTS=true #SHARPBANGSCRIPTS=false ########## Configuration for the bytecode compiler ### Which C compiler to use for the bytecode interpreter. ### Performance of the bytecode interpreter is *much* improved ### if Gnu CC version 2 is used. #BYTECC=gcc #BYTECC=cc ### Additional compile-time options for $(BYTECC). # If using gcc on Intel x86: # (the -fno-defer-pop option circumvents a bug in certain versions of gcc) #BYTECCCOMPOPTS=-fno-defer-pop -Wall # If using gcc and being cautious: #BYTECCCOMPOPTS=-Wall # Otherwise: #BYTECCCOMPOPTS= ### Additional link-time options for $(BYTECC) # To support dynamic loading of shared libraries (they need to look at # our own symbols): #BYTECCLINKOPTS=-Wl,-E # Otherwise: #BYTECCLINKOPTS= ### Libraries needed # On most platforms: #CCLIBS=-lcurses -ltermcap -lm ### How to invoke the C preprocessor # This is not needed anymore. Leave these lines commented out. # On most machines: #CPP=/lib/cpp -P # Under Solaris: #CPP=/usr/ccs/lib/cpp -P # Under FreeBSD: #CPP=cpp -P ### Magic declarations for ocamlbuild -- leave unchanged #ml let syslib x = "-l"^x;; #ml let mklib out files opts = Printf.sprintf "%sar rc %s %s %s; %sranlib %s" toolpref out opts files toolpref out;; ### How to invoke ranlib RANLIB=ranlib RANLIBCMD=ranlib # If ranlib is not needed: #RANLIB=ar rs #RANLIBCMD= ### How to invoke ar #ARCMD=ar ### Shared library support # Extension for shared libraries: so if supported, a if not supported #SO=so #SO=a # Set to nothing if shared libraries supported, and to -custom if not supported #CUSTOM_IF_NOT_SHARED= #CUSTOM_IF_NOT_SHARED=-custom # Options to $(BYTECC) to produce shared objects (e.g. PIC) #SHAREDCCCOMPOPTS=-fPIC # How to build a shared library, invoked with output .so as first arg # and object files as remaining args #MKSHAREDLIB=gcc -shared -o # Compile-time option to $(BYTECC) to add a directory to be searched # at run-time for shared libraries #BYTECCRPATH=-Wl,-rpath ############# Configuration for the native-code compiler ### Name of architecture for the native-code compiler ### Currently supported: ### ### i386 Intel Pentium PCs under Linux, *BSD*, NextStep ### sparc Sun Sparcstation under SunOS 4.1 or Solaris 2 ### power Macintosh under Mac OS X and Linux ### arm ARM under Linux ### ### Set ARCH=none if your machine is not supported #ARCH=i386 #ARCH=sparc #ARCH=power #ARCH=arm #ARCH=none ### Name of architecture model for the native-code compiler. ### Some architectures come in several slightly different flavors ### that share a common code generator. This variable tailors the ### behavior of the code generator to the particular flavor used. ### Currently needed only if ARCH=power; leave MODEL=default for ### other architectures. ### If ARCH=power: set MODEL=ppc ### For other architectures: leave MODEL=default ### #MODEL=ppc #MODEL=default ### Name of operating system family for the native-code compiler. #SYSTEM=solaris #SYSTEM=linux #SYSTEM=linux_elf #SYSTEM=bsd #SYSTEM=unknown ### Which C compiler to use for the native-code compiler. #NATIVECC=cc #NATIVECC=gcc ### Additional compile-time options for $(NATIVECC). # For gcc if cautious: #NATIVECCCOMPOPTS=-Wall ### Additional link-time options for $(NATIVECC) #NATIVECCLINKOPTS= # Compile-time option to $(NATIVECC) to add a directory to be searched # at run-time for shared libraries #NATIVECCRPATH=-Wl,-rpath ### Command and flags to use for assembling ocamlopt-generated code #ASM=as ### Command and flags to use for assembling .S files (often with preprocessing) # If gcc is available: #ASPP=gcc -c # On Solaris: #ASPP=as -P ### Extra flags to use for assembling .S files in profiling mode #ASPPPROFFLAGS=-DPROFILING ### Whether profiling with gprof is supported # If yes: (e.g. x86/Linux, Sparc/Solaris): #PROFILING=prof # If no: #PROFILING=noprof ### Option to give to the C compiler for profiling #CC_PROFILE=-pg #CC_PROFILE=-xpg ### How to perform a partial link PARTIALLD=ld -r $(NATIVECCLINKOPTS) ############# Configuration for the contributed libraries ### Which libraries to compile and install # Currently available: # unix Unix system calls # str Regular expressions and high-level string processing # num Arbitrary-precision rational arithmetic # threads Lightweight concurrent processes # systhreads Same as threads, requires POSIX threads # graph Portable drawing primitives for X11 # dynlink Dynamic linking of bytecode # bigarray Large, multidimensional numerical arrays OTHERLIBRARIES=unix str num threads graph dynlink bigarray ### Name of the target architecture for the "num" library # Known targets: # generic (portable C, works everywhere) # ia32 (Intel x86) # amd64 (AMD Opteron, Athlon64) # ppc (Power PC) # sparc # If you don't know, leave BNG_ARCH=generic, which selects a portable # C implementation of these routines. BNG_ARCH=generic BNG_ASM_LEVEL=1 ### Link-time options to ocamlc or ocamlopt for linking with POSIX threads # Needed for the "systhreads" package # Usually: #PTHREAD_LINK=-cclib -lpthread # For Solaris: #PTHREAD_LINK=-cclib -lpthread -cclib -lposix4 ### -I options for finding the X11/*.h includes # Needed for the "graph" package # Usually: #X11_INCLUDES=-I/usr/X11R6/include # For SunOS with OpenLook: #X11_INCLUDES=/usr/openwin/include ### Link-time options to ocamlc or ocamlopt for linking with X11 libraries # Needed for the "graph" package # Usually: #X11_LINK=-lX11 # For SunOS with OpenLook: #X11_LINK=-L$(X11_LIB) -lX11