(***********************************************************************) (* *) (* Objective Caml *) (* *) (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) (* *) (* Copyright 1996 Institut National de Recherche en Informatique et *) (* en Automatique. All rights reserved. This file is distributed *) (* under the terms of the Q Public License version 1.0. *) (* *) (***********************************************************************) (* $Id: config.mlbuild,v 1.2 2007-02-07 15:47:36 ertai Exp $ *) (* The main OCaml version string has moved to ../VERSION *) let version = Sys.ocaml_version module C = Myocamlbuild_config let standard_library_default = C.libdir let standard_library = try Sys.getenv "OCAMLLIB" with Not_found -> try Sys.getenv "CAMLLIB" with Not_found -> standard_library_default let windows = match Sys.os_type with | "Win32" -> true | _ -> false let sf = Printf.sprintf let standard_runtime = if windows then "ocamlrun" else C.bindir^"/ocamlrun" let ccomp_type = C.ccomptype let bytecomp_c_compiler = sf "%s %s %s" C.bytecc C.bytecccompopts C.sharedcccompopts let bytecomp_c_linker = sf "%s %s" C.bytecc C.bytecclinkopts let bytecomp_c_libraries = C.bytecclibs let native_c_compiler = sf "%s %s" C.nativecc C.nativecccompopts let native_c_linker = sf "%s %s" C.nativecc C.nativecclinkopts let native_c_libraries = C.nativecclibs let native_partial_linker = if ccomp_type = "msvc" then "link /lib /nologo" else sf "%s %s" C.partialld C.nativecclinkopts let native_pack_linker = if ccomp_type = "msvc" then "link /lib /nologo /out:" else sf "%s %s -o " C.partialld C.nativecclinkopts let ranlib = C.ranlibcmd let cc_profile = C.cc_profile let exec_magic_number = "Caml1999X008" and cmi_magic_number = "Caml1999I010" and cmo_magic_number = "Caml1999O006" and cma_magic_number = "Caml1999A007" and cmx_magic_number = "Caml1999Y011" and cmxa_magic_number = "Caml1999Z010" and ast_impl_magic_number = "Caml1999M011" and ast_intf_magic_number = "Caml1999N010" let load_path = ref ([] : string list) let interface_suffix = ref ".mli" let max_tag = 245 (* This is normally the same as in obj.ml, but we have to define it separately because it can differ when we're in the middle of a bootstrapping phase. *) let lazy_tag = 246 let max_young_wosize = 256 let stack_threshold = 256 (* see byterun/config.h *) let architecture = C.arch let model = C.model let system = C.system let ext_obj = C.ext_obj let ext_asm = C.ext_asm let ext_lib = C.ext_lib let ext_dll = C.ext_dll let default_executable_name = match Sys.os_type with "Unix" -> "a.out" | "Win32" | "Cygwin" -> "camlprog.exe" | _ -> "camlprog" let systhread_supported = C.systhread_support;; let print_config oc = let p name valu = Printf.fprintf oc "%s: %s\n" name valu in let p_bool name valu = Printf.fprintf oc "%s: %B\n" name valu in p "version" version; p "standard_library_default" standard_library_default; p "standard_library" standard_library; p "standard_runtime" standard_runtime; p "ccomp_type" ccomp_type; p "bytecomp_c_compiler" bytecomp_c_compiler; p "bytecomp_c_linker" bytecomp_c_linker; p "bytecomp_c_libraries" bytecomp_c_libraries; p "native_c_compiler" native_c_compiler; p "native_c_linker" native_c_linker; p "native_c_libraries" native_c_libraries; p "native_partial_linker" native_partial_linker; p "ranlib" ranlib; p "cc_profile" cc_profile; p "architecture" architecture; p "model" model; p "system" system; p "ext_obj" ext_obj; p "ext_asm" ext_asm; p "ext_lib" ext_lib; p "ext_dll" ext_dll; p "os_type" Sys.os_type; p "default_executable_name" default_executable_name; p_bool "systhread_supported" systhread_supported; flush oc; ;;