]> gitweb.factorcode.org Git - factor.git/commitdiff
statically link factor executable to VM so dylib is only needed for embedding
authorJoe Groff <arcata@gmail.com>
Thu, 1 Apr 2010 21:25:02 +0000 (14:25 -0700)
committerJoe Groff <arcata@gmail.com>
Thu, 1 Apr 2010 21:25:02 +0000 (14:25 -0700)
GNUmakefile
vm/os-macosx.hpp
vm/os-unix.cpp

index 12ca388f87f3f6ea668899cf4b1cf5990fff8550..9f93deedf290a9482c9d668c18c202b97537c6e2 100755 (executable)
@@ -169,22 +169,16 @@ macosx.app: factor
        mkdir -p $(BUNDLE)/Contents/Frameworks
        mv $(EXECUTABLE) $(BUNDLE)/Contents/MacOS/factor
        ln -s Factor.app/Contents/MacOS/factor ./factor
-       cp $(ENGINE) $(BUNDLE)/Contents/Frameworks/$(ENGINE)
-
-       install_name_tool \
-               -change libfactor.dylib \
-               @executable_path/../Frameworks/libfactor.dylib \
-               Factor.app/Contents/MacOS/factor
 
 $(ENGINE): $(DLL_OBJS)
        $(TOOLCHAIN_PREFIX)$(LINKER) $(ENGINE) $(DLL_OBJS)
 
-factor: $(EXE_OBJS) $(ENGINE)
-       $(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
+factor: $(EXE_OBJS) $(DLL_OBJS)
+       $(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(DLL_OBJS) \
                $(CFLAGS) -o $(EXECUTABLE) $(EXE_OBJS)
 
-factor-console: $(EXE_OBJS) $(ENGINE)
-       $(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
+factor-console: $(EXE_OBJS) $(DLL_OBJS)
+       $(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(DLL_OBJS) \
                $(CFLAGS) $(CFLAGS_CONSOLE) -o $(CONSOLE_EXECUTABLE) $(EXE_OBJS)
 
 factor-ffi-test: $(FFI_TEST_LIBRARY)
index 8428f56998843b20c82c2d1126ff3095fcc52747..4d4499461d861819414f82019176d61dd6499a1e 100644 (file)
@@ -3,7 +3,7 @@ namespace factor
 
 #define VM_C_API extern "C" __attribute__((visibility("default")))
 #define FACTOR_OS_STRING "macosx"
-#define NULL_DLL "libfactor.dylib"
+#define NULL_DLL NULL
 
 void early_init();
 
index a8898eccab3264423ad1e25de1b8b97f0341f138..60ac00fb395858a7675eae920b8c9a83a9c4ee39 100644 (file)
@@ -46,7 +46,6 @@ void sleep_nanos(u64 nsec)
 
 void factor_vm::init_ffi()
 {
-       /* NULL_DLL is "libfactor.dylib" for OS X and NULL for generic Unix */
        null_dll = dlopen(NULL_DLL,RTLD_LAZY);
 }