ext/immunio/Rakefile in immunio-1.2.1 vs ext/immunio/Rakefile in immunio-2.0.2

- old
+ new

@@ -1,9 +1,17 @@ -LIB_DIR = File.expand_path("../../../lib/immunio", __FILE__) -LUA_HOOKS_DIR = File.expand_path("../../../lua-hooks", __FILE__) +IMMUNIO_DIR = File.expand_path('../../../lib/immunio', __FILE__) +LUA_HOOKS_DIR = File.expand_path('../../../lua-hooks', __FILE__) +LUAJIT_SRC_DIR = File.join(LUA_HOOKS_DIR, 'ext/luajit/src') +LIBIMMUNIO_SO = File.join(IMMUNIO_DIR, 'libimmunio.so') +LIBLUAHOOKS_A = File.join(LUA_HOOKS_DIR, "libluahooks.#{Gem::Platform.local.os}.a") +LIBLUAJIT_A = File.join(LUAJIT_SRC_DIR, 'libluajit.a') + task :default do - cd LUA_HOOKS_DIR do - sh "make libimmunio.so" - cp "libimmunio.so", LIB_DIR + sh "make XCFLAGS='-fPIC -DLUAJIT_ENABLE_GC64' -C #{LUAJIT_SRC_DIR} #{File.basename(LIBLUAJIT_A)}" + os_type = %x{uname}.strip + if os_type == 'Darwin' + sh "cc -shared -o #{LIBIMMUNIO_SO} -Wl,-all_load #{LIBLUAJIT_A} #{LIBLUAHOOKS_A}" + else + sh "cc -shared -o #{LIBIMMUNIO_SO} -Wl,--whole-archive #{LIBLUAJIT_A} #{LIBLUAHOOKS_A} -Wl,--no-whole-archive" end -end \ No newline at end of file +end