diff options
Diffstat (limited to 'Library/Formula')
| -rw-r--r-- | Library/Formula/luajit.rb | 107 |
1 files changed, 89 insertions, 18 deletions
diff --git a/Library/Formula/luajit.rb b/Library/Formula/luajit.rb index 3ae22ad2f..47f3db89d 100644 --- a/Library/Formula/luajit.rb +++ b/Library/Formula/luajit.rb @@ -9,34 +9,47 @@ class Luajit < Formula # Skip cleaning both empty folders and bin/libs so external symbols still work. skip_clean :all - fails_with_llvm "_Unwind_Exception_Class undeclared", :build => 2336 - def options [["--enable-debug", "Build with debugging symbols."]] end def patches - # Hotfix#1 is recommended by the LuaJIT developers - "http://luajit.org/download/beta9_hotfix1.patch" + unless ARGV.build_head? then + # Remove all patches at 2.0.0-beta10. They are fixed in HEAD. + # Patch 1: Hotfix is recommended by the LuaJIT developers. + # Patch 2: Fixes no /usr/include/unwind.h on Snow Leopard for Clang. + # DATA fixes build error with clang, no -dumpspecs options. Also removes + # the instruction to use sudo to symlink luajit. We do that already. + [ "http://luajit.org/download/beta9_hotfix1.patch", + "http://repo.or.cz/w/luajit-2.0.git/patch/018792452ecdcaeff9362e4238004420665b450b", + DATA ] + end end def install - if ARGV.include? '--enable-debug' - system "make", "CCDEBUG=-g", "PREFIX=#{prefix}", - "TARGET_CC=#{ENV['CC']}", - "amalg" - system "make", "CCDEBUG=-g", "PREFIX=#{prefix}", - "TARGET_CC=#{ENV['CC']}", - "install" - else - system "make", "PREFIX=#{prefix}", - "TARGET_CC=#{ENV['CC']}", - "amalg" - system "make", "PREFIX=#{prefix}", - "TARGET_CC=#{ENV['CC']}", - "install" + # 1 - Remove the '-O2' so we can set Og if needed. Leave the -fomit part. + # 2 - Override the hardcoded gcc. + # 3 - Remove the '-march=i686' so we can set the march in cflags. + # All three changes should persist and were discussed upstream. + inreplace 'src/Makefile' do |f| + f.change_make_var! 'CCOPT', '-fomit-frame-pointer' + f.change_make_var! 'CC', ENV.cc + f.change_make_var! 'CCOPT_X86', '' end + ENV.O2 # Respect the developer's choice. + args = [ "PREFIX=#{prefix}" ] + if ARGV.include? '--enable-debug' then + ENV.Og if ENV.compiler == :clang + args << 'CCDEBUG=-g' + end + + bldargs = args + bldargs << 'amalg' + system 'make', *bldargs + args << 'install' + system 'make', *args # Build requires args during install + # Non-versioned symlink if ARGV.build_head? version = "2.0.0-beta9" @@ -46,3 +59,61 @@ class Luajit < Formula ln_s bin+"luajit-#{version}", bin+"luajit" end end + +__END__ +--- a/src/Makefile ++++ b/src/Makefile +@@ -219,10 +219,6 @@ + TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS) + TARGET_ALIBS= $(TARGET_XLIBS) $(LIBS) $(TARGET_LIBS) + +-ifneq (,$(findstring stack-protector,$(shell $(TARGET_CC) -dumpspecs))) +- TARGET_XCFLAGS+= -fno-stack-protector +-endif +- + TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_ACFLAGS) -E lj_arch.h -dM) + ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH))) + TARGET_CCARCH= x64 +@@ -283,9 +279,12 @@ + TARGET_DYNXLDOPTS= + else + ifeq (Darwin,$(TARGET_SYS)) +- export MACOSX_DEPLOYMENT_TARGET=10.4 ++ ifeq (,$(MACOSX_DEPLOYMENT_TARGET)) ++ export MACOSX_DEPLOYMENT_TARGET=10.4 ++ endif + TARGET_STRIP+= -x + TARGET_AR+= 2>/dev/null ++ TARGET_XCFLAGS+= -fno-stack-protector + TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC + TARGET_DYNXLDOPTS= + TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER) +@@ -297,10 +296,14 @@ + ifeq (iOS,$(TARGET_SYS)) + TARGET_STRIP+= -x + TARGET_AR+= 2>/dev/null ++ TARGET_XCFLAGS+= -fno-stack-protector + TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC + TARGET_DYNXLDOPTS= + TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER) + else ++ ifneq (,$(findstring stack-protector,$(shell $(TARGET_CC) -dumpspecs))) ++ TARGET_XCFLAGS+= -fno-stack-protector ++ endif + ifneq (SunOS,$(TARGET_SYS)) + TARGET_XLDFLAGS+= -Wl,-E + endif +--- a/Makefile 2012-03-31 11:23:39.000000000 -0700 ++++ b/Makefile 2012-03-31 11:24:20.000000000 -0700 +@@ -116,11 +116,6 @@ + cd lib && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB) + @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ====" + @echo "" +- @echo "Note: the beta releases deliberately do NOT install a symlink for luajit" +- @echo "You can do this now by running this command (with sudo):" +- @echo "" +- @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)" +- @echo "" + + ############################################################################## + |
