diff --git a/Makefile b/Makefile index 582741e0b7567594271b8b4618460975daea49e5..90e779f26d5e8b41b527d0d974ff726fedb5e349 100644 --- a/Makefile +++ b/Makefile @@ -1288,6 +1288,14 @@ gui: gui-$(OCAMLBEST) ALL_GUI_CMO= $(ALL_CMO) $(GRAPH_GUICMO) $(GUICMO) ALL_GUI_CMX= $(patsubst %.cma,%.cmxa,$(ALL_GUI_CMO:.cmo=.cmx)) +ifeq ($(LABLGTK_VERSION),3) +ifeq ($(NATIVE_THREADS),yes) +THREAD=-thread +else +THREAD=-vmthread +endif +endif + bin/viewer.byte$(EXE): BYTE_LIBS+= $(GRAPH_GUICMO) bin/viewer.byte$(EXE): $(filter-out $(GRAPH_GUICMO),$(ALL_GUI_CMO)) \ $(GEN_BYTE_LIBS) \ @@ -2297,21 +2305,21 @@ PTESTS_SRC=ptests/ptests_config.ml ptests/ptests.ml PTESTS_CONFIG:= $(shell if test -d tests; then echo tests/ptests_config; fi) ifeq ($(NATIVE_THREADS),yes) -THREAD=-thread +PTEST_THREAD=-thread ptests: bin/ptests.$(PTESTSBEST)$(EXE) $(PTESTS_CONFIG) else -THREAD=-vmthread +PTEST_THREAD=-vmthread ptests: bin/ptests.byte$(EXE) $(PTESTS_CONFIG) endif bin/ptests.byte$(EXE): $(PTESTS_SRC) $(PRINT_LINKING) $@ - $(OCAMLC) -I ptests -dtypes $(THREAD) -g -o $@ \ + $(OCAMLC) -I ptests -dtypes $(PTEST_THREAD) -g -o $@ \ unix.cma threads.cma str.cma dynlink.cma $^ bin/ptests.opt$(EXE): $(PTESTS_SRC) $(PRINT_LINKING) $@ - $(OCAMLOPT) -I ptests -dtypes $(THREAD) -o $@ \ + $(OCAMLOPT) -I ptests -dtypes $(PTEST_THREAD) -o $@ \ unix.cmxa threads.cmxa str.cmxa dynlink.cmxa $^ GENERATED+=ptests/ptests_config.ml tests/ptests_config diff --git a/configure.in b/configure.in index 09121c03098bc616365e96ecc5ce9d4d9387366c..1c508452c3e88478318f82fff46c8a61dbe09c0f 100644 --- a/configure.in +++ b/configure.in @@ -424,6 +424,7 @@ rm -f test_os_type.cmi test_os_type.cmo test_os_type.ml test_os_type if test "$OCAML_OS_TYPE" = "Win32"; then AC_MSG_RESULT(Win32) AC_CHECK_PROG(CYGPATH,cygpath,cygpath,no) + PLATFORM=Win32 OCAMLWIN32=yes EXE=.exe # OCaml on Win32 does not support vmthreads, use native ones. @@ -432,9 +433,16 @@ else OCAMLWIN32=no if test "$OCAML_OS_TYPE" = "Cygwin"; then AC_MSG_RESULT(Cygwin) + PLATFORM=Cygwin EXE=.exe else - AC_MSG_RESULT(Unix) + if test $(uname -s) = "Darwin"; then + AC_MSG_RESULT(MacOS) + PLATFORM=MacOS + else + AC_MSG_RESULT(Unix) + PLATFORM=Unix + fi EXE= fi @@ -938,13 +946,14 @@ USE_LABLGTK="$USE_LABLGTK$USE_GNOMECANVAS" LABLGTK_PATH="" SOURCEVIEW_PATH="" +if test "$PLATFORM" != "MacOS"; then if test "$ENABLE_LABLGTK3" = "yes"; then LABLGTK_PATH=`ocamlfind query lablgtk3 | tr -d '\\r\\n'`; fi - if test "$LABLGTK_PATH" != ""; then SOURCEVIEW_PATH=`ocamlfind query lablgtk3-sourceview3 | tr -d '\\r\\n'`; fi +fi if test "$SOURCEVIEW_PATH" = ""; then LABLGTK_VERSION=2 @@ -1016,6 +1025,7 @@ check_frama_c_dependencies EXTERNAL_PLUGINS="${EXTERNAL_PLUGINS} ${EXTRA_EXTERNAL_PLUGINS}" +AC_SUBST(PLATFORM) AC_SUBST(VERBOSEMAKE) AC_SUBST(DEVELOPMENT) AC_SUBST(DOT) diff --git a/opam/opam b/opam/opam index 16ea05f0d3eb81cba33aaff3e84e8d87cac22374..bda948e9199b27790ffd9fac8029f18e26587ee0 100644 --- a/opam/opam +++ b/opam/opam @@ -90,7 +90,7 @@ depends: [ "zarith" "conf-autoconf" { build } ( ( "lablgtk" { >= "2.18.2" } & "conf-gnomecanvas" ) - | ( "lablgtk3" { >= "3.0.beta4" } & "lablgtk3-sourceview3")) + | ( "lablgtk3" { >= "3.0.beta4" & os!="macos" } & "lablgtk3-sourceview3" )) "conf-gtksourceview" ( "alt-ergo-free" | "alt-ergo" ) "conf-graphviz" { post } diff --git a/share/Makefile.config.in b/share/Makefile.config.in index f6b545148e78dc450b717a4f7d9b5c539f4a0cfc..f0bc8ae518d5973c1e46e30e979ecf6e1dcdfd73 100644 --- a/share/Makefile.config.in +++ b/share/Makefile.config.in @@ -91,6 +91,7 @@ HAS_OCAML405 ?=@HAS_OCAML405@ HAS_OCAML407 ?=@HAS_OCAML407@ HAS_OCAML408 ?=@HAS_OCAML408@ +PLATFORM ?=@PLATFORM@ NATIVE_THREADS ?=@HAS_NATIVE_THREADS@ OCAMLWIN32 ?=@OCAMLWIN32@ PTESTSBEST ?=@PTESTSBEST@