summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile118
m---------lib/utfcpp0
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