diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Makefile | 118 | ||||
m--------- | lib/utfcpp | 0 |
2 files changed, 78 insertions, 40 deletions
diff --git a/lib/Makefile b/lib/Makefile index 14605176..3f399e58 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -2,32 +2,59 @@ # This is only important if you intend to produce a Ledger binary for # installation. -STOW_ROOT = /usr/local/stow -PRODUCTS = $(HOME)/Products - -CC = gcc-mp-4.4 -CXX = g++-mp-4.4 -LD = gcc-mp-4.4 -CPPFLAGS = -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_FULLY_DYNAMIC_STRING=1 -CFLAGS = $(CPPFLAGS) -g -LDFLAGS = -g - -BOOST_VERSION = 1_43_0 -BOOST_SOURCE = boost_$(BOOST_VERSION) -BOOST_TOOLSET = darwin -BOOST_DEFINES = define=_GLIBCXX_DEBUG=1 define=_GLIBCXX_FULLY_DYNAMIC_STRING=1 -#BOOST_FLAGS = --architecture=x86 --address_model=32_64 -BOOST_FLAGS = --toolset=$(BOOST_TOOLSET) \ - --build-type=complete --layout=versioned \ - $(BOOST_DEFINES) -ICU_FLAGS = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu - -all: boost-build cppunit-build icu-build boost-icu-build - -boost-build: +STOW_ROOT = /usr/local/stow +PRODUCTS = $(HOME)/Products + +CC = gcc-mp-4.5 +ifeq ($(CC),clang) +CXX = clang++ +LD = llvm-ld +DIR_SUFFIX = clang +OPTJ = +else +CXX = g++-mp-4.5 +LD = gcc-mp-4.5 +DIR_SUFFIX = gcc45 +OPTJ = #-j16 +endif +CPPFLAGS = -D_GLIBCXX_FULLY_DYNAMIC_STRING=1 +ifneq ($(CC),clang) +CPPFLAGS += -D_GLIBCXX_DEBUG=1 +endif +CFLAGS = $(CPPFLAGS) -g +LDFLAGS = -g + +BOOST_VERSION = 1_45_0 +BOOST_SOURCE = boost-release +BOOST_DEFINES = define=_GLIBCXX_FULLY_DYNAMIC_STRING=1 +ifeq ($(CC),clang) +BOOST_TOOLSET = clang +else +BOOST_TOOLSET = darwin +BOOST_DEFINES = define=_GLIBCXX_DEBUG=1 +endif +#BOOST_FLAGS = --architecture=x86 --address_model=32_64 +BOOST_FLAGS = --toolset=$(BOOST_TOOLSET) \ + --build-type=complete --layout=versioned \ + $(BOOST_DEFINES) +BOOST_DIR = boost_$(BOOST_VERSION)-$(DIR_SUFFIX) +BOOST_STOW = $(STOW_ROOT)/$(BOOST_DIR) +BOOST_BUILD = $(PRODUCTS)/$(BOOST_DIR) +ICU_FLAGS = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu +BOOST_ICU_DIR = boost_$(BOOST_VERSION)-icu-$(DIR_SUFFIX) +BOOST_ICU_STOW = $(STOW_ROOT)/$(BOOST_ICU_DIR) +BOOST_ICU_BUILD = $(PRODUCTS)/$(BOOST_ICU_DIR) + +all: boost-build cppunit-build #icu-build boost-icu-build + +prepare-boost: + perl -i -pe 's/local command = \[ common\.get-invocation-command darwin : g\+\+ : \$$\(command\) \] ;/local command = [ common.get-invocation-command darwin : g++ : $(CXX) ] ;/;' $(BOOST_SOURCE)/tools/build/v2/tools/darwin.jam + perl -i -pe 's/flags darwin\.compile OPTIONS : -no-cpp-precomp -gdwarf-2 ;/flags darwin\.compile OPTIONS : -gdwarf-2 ;/;' $(BOOST_SOURCE)/tools/build/v2/tools/darwin.jam + +boost-build: prepare-boost (cd $(BOOST_SOURCE) && \ - bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION) \ - --build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION) \ + sh bootstrap.sh && \ + ./bjam $(OPTJ) debug --prefix=$(BOOST_STOW) --build-dir=$(BOOST_BUILD) \ $(BOOST_FLAGS) install) cppunit-build: @@ -37,23 +64,34 @@ cppunit-build: CFLAGS="$(CFLAGS)" \ LDFLAGS="$(LDFLAGS)" \ CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \ - --prefix=$(STOW_ROOT)/cppunit \ + --prefix=$(STOW_ROOT)/cppunit-$(DIR_SUFFIX) \ --disable-doxygen --disable-dot && \ make install) -icu-build: +#icu-build: +# -(cd icu/source; make distclean) +# (cd icu/source; sh autogen.sh; \ +# ./configure CPPFLAGS="$(CPPFLAGS)" \ +# CFLAGS="$(CFLAGS)" \ +# LDFLAGS="$(LDFLAGS)" \ +# CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \ +# --enable-static --enable-debug \ +# --prefix=$(STOW_ROOT)/icu-$(DIR_SUFFIX) && \ +# make install) +# +#boost-icu-build: +# (cd $(BOOST_SOURCE) && \ +# bjam debug --prefix=$(BOOST_ICU_STOW) --build-dir=$(BOOST_ICU_BUILD) \ +# $(BOOST_FLAGS) $(ICU_FLAGS) install) + +clean: + -rm -fr $(BOOST_STOW) $(BOOST_BUILD) + -rm -fr $(BOOST_ICU_STOW) $(BOOST_ICU_BUILD) + -rm -fr $(STOW_ROOT)/cppunit-$(DIR_SUFFIX) + -rm -fr $(STOW_ROOT)/icu-$(DIR_SUFFIX) + -(cd cppunit; make distclean) -(cd icu/source; make distclean) - (cd icu/source; sh autogen.sh; \ - ./configure CPPFLAGS="$(CPPFLAGS)" \ - CFLAGS="$(CFLAGS)" \ - LDFLAGS="$(LDFLAGS)" \ - CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \ - --enable-static --enable-debug \ - --prefix=$(STOW_ROOT)/icu && \ - make install) -boost-icu-build: - (cd $(BOOST_SOURCE) && \ - bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION)-icu \ - --build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION)-icu \ - $(BOOST_FLAGS) $(ICU_FLAGS) install) +lib-clean: + -(cd cppunit; make distclean) + -(cd icu/source; make distclean) diff --git a/lib/utfcpp b/lib/utfcpp -Subproject 200cf64535a8a2545414e993349f6c87c8dd64b +Subproject e1100092ff1b6f9d0fd6af9c4f38360989f05e7 |