From 9ccd7ceea77f00b7d6c994ad2bdeac0e6d4d83d1 Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Tue, 22 Aug 2017 21:46:28 -0400 Subject: [PATCH] added linker optimizations for smaller executables --- .gitignore | 1 + Makefile | 6 ++++-- tide.ml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4bc34cf..dfd218e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *.cma *.cmxa *.cmi +*.a diff --git a/Makefile b/Makefile index 553d483..c60b9ed 100644 --- a/Makefile +++ b/Makefile @@ -3,11 +3,12 @@ # -nostdlib - Reimplement the Pervasives module to not suck. ifeq ($(NATIVE), 1) OC = ocamlopt - OCFLAGS = + OCFLAGS = -compact MKLIB = ocamlmklib MKLIBFLAGS = -custom OBJEXT = cmx LIBEXT = cmxa + OLDFLAGS = -compact -ccopt -dead_strip else OC = ocamlc OCFLAGS = @@ -15,6 +16,7 @@ else MKLIBFLAGS = -custom OBJEXT = cmo LIBEXT = cma + OLDFLAGS = endif # Target Definitions @@ -32,7 +34,7 @@ tide: env.$(LIBEXT) tide.$(OBJEXT) # Implicit Rule Definitions #------------------------------------------------------------------------------- %: - $(OC) $(OCFLAGS) -o $@ $^ -I . + $(OC) $(OCFLAGS) $(OLDFLAGS) -o $@ $^ -I . %.$(LIBEXT): $(MKLIB) $(MKLIBFLAGS) $(OCFLAGS) -o $* $^ diff --git a/tide.ml b/tide.ml index 72b7257..9aa5e5c 100644 --- a/tide.ml +++ b/tide.ml @@ -3,4 +3,4 @@ open Env let () = let foo = Env.set "foo" "bar" in let bar = Env.get "foo" in - () + print_string "foo\n" -- 2.49.0