From: Ian Lynagh Date: Sun, 14 Jun 2009 18:31:50 +0000 (+0000) Subject: Move gmp into libraries/integer-gmp X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=00c48fae8a656a7f01d4b64c6d8c22874341312e Move gmp into libraries/integer-gmp --- diff --git a/ghc.mk b/ghc.mk index d23ee24..bb76011 100644 --- a/ghc.mk +++ b/ghc.mk @@ -347,10 +347,6 @@ OTHER_LIBS = libffi/libHSffi$(v_libsuf) libffi/HSffi.o ifeq "$(BuildSharedLibs)" "YES" OTHER_LIBS += libffi/libHSffi$(dyn_libsuf) endif -ifeq "$(HaveLibGmp)" "NO" -GMP_LIB = gmp/libgmp.a -OTHER_LIBS += $(GMP_LIB) -endif # We cannot run ghc-cabal to configure a package until we have # configured and registered all of its dependencies. So the following @@ -461,7 +457,7 @@ BUILD_DIRS += \ endif BUILD_DIRS += \ - gmp \ + libraries/integer-gmp/gmp \ docs/users_guide \ libraries/Cabal/doc \ $(GHC_UNLIT_DIR) \ @@ -769,7 +765,7 @@ $(eval $(call bindist,.,\ binary-dist: "$(RM)" $(RM_OPTS) -r $(BIN_DIST_NAME) mkdir $(BIN_DIST_NAME) - set -e; for i in LICENSE compiler ghc rts libraries utils gmp docs libffi includes driver mk rules Makefile aclocal.m4 config.sub config.guess install-sh extra-gcc-opts.in ghc.mk inplace; do ln -s ../$$i $(BIN_DIST_NAME)/; done + set -e; for i in LICENSE compiler ghc rts libraries utils docs libffi includes driver mk rules Makefile aclocal.m4 config.sub config.guess install-sh extra-gcc-opts.in ghc.mk inplace; do ln -s ../$$i $(BIN_DIST_NAME)/; done ln -s ../distrib/configure-bin.ac $(BIN_DIST_NAME)/configure.ac cd $(BIN_DIST_NAME) && autoreconf "$(RM)" $(RM_OPTS) $(BIN_DIST_TAR) @@ -822,7 +818,7 @@ SRC_DIST_DIR=$(shell pwd)/$(SRC_DIST_NAME) # # Files to include in source distributions # -SRC_DIST_DIRS = mk rules docs distrib bindisttest gmp libffi includes utils docs rts compiler ghc driver libraries +SRC_DIST_DIRS = mk rules docs distrib bindisttest libffi includes utils docs rts compiler ghc driver libraries SRC_DIST_FILES += \ configure.ac config.guess config.sub configure \ aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \ diff --git a/gmp/ghc.mk b/gmp/ghc.mk deleted file mode 100644 index 3c5190a..0000000 --- a/gmp/ghc.mk +++ /dev/null @@ -1,138 +0,0 @@ -# ----------------------------------------------------------------------------- -# -# (c) 2009 The University of Glasgow -# -# This file is part of the GHC build system. -# -# To understand how the build system works and how to modify it, see -# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture -# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying -# -# ----------------------------------------------------------------------------- - - -# Compile GMP only if we don't have it already -# -# We use GMP's own configuration stuff, because it's all rather hairy -# and not worth re-implementing in our Makefile framework. - -ifeq "$(findstring dyn, $(GhcRTSWays))" "dyn" -BUILD_SHARED=yes -else -BUILD_SHARED=no -endif - -# In a bindist, we don't want to know whether /this/ machine has gmp, -# but whether the machine the bindist was built on had gmp. -ifeq "$(BINDIST)" "YES" -ifeq "$(wildcard gmp/libgmp.a)" "" -HaveLibGmp = YES -HaveFrameworkGMP = YES -else -HaveLibGmp = NO -HaveFrameworkGMP = NO -endif -endif - -ifneq "$(HaveLibGmp)" "YES" -ifneq "$(HaveFrameworkGMP)" "YES" - -INSTALL_LIBS += gmp/libgmp.a -INSTALL_HEADERS += gmp/gmp.h - -$(eval $(call all-target,gmp_dynamic,gmp/libgmp.a)) - -ifeq "$(BUILD_SHARED)" "yes" -$(eval $(call all-target,gmp_dynamic,gmp/libgmp.dll.a gmp/libgmp-3.dll)) -endif - -endif -endif - -PLATFORM := $(shell echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g') - -# 2007-09-26 -# set -o igncr -# is not a valid command on non-Cygwin-systems. -# Let it fail silently instead of aborting the build. -# -# 2007-07-05 -# We do -# set -o igncr; export SHELLOPTS -# here as otherwise checking the size of limbs -# makes the build fall over on Cygwin. See the thread -# http://www.cygwin.com/ml/cygwin/2006-12/msg00011.html -# for more details. - -# 2007-07-05 -# Passing -# as_ln_s='cp -p' -# isn't sufficient to stop cygwin using symlinks the mingw gcc can't -# follow, as it isn't used consistently. Instead we put an ln.bat in -# path that always fails. - -# We use a tarball like gmp-4.2.4-nodoc.tar.bz2, which is -# gmp-4.2.4.tar.bz2 repacked without the doc/ directory contents. -# That's because the doc/ directory contents are under the GFDL, -# which causes problems for Debian. - -GMP_TARBALL := $(wildcard gmp/tarball/gmp*.tar.bz2) -GMP_DIR := $(patsubst gmp/tarball/%-nodoc.tar.bz2,%,$(GMP_TARBALL)) - -gmp/libgmp.a gmp/gmp.h: - $(RM) -rf $(GMP_DIR) gmp/gmpbuild - cd gmp && $(TAR) -jxf ../$(GMP_TARBALL) - mv gmp/$(GMP_DIR) gmp/gmpbuild - chmod +x gmp/ln - cd gmp; (set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \ - PATH=`pwd`:$$PATH; \ - export PATH; \ - cd gmpbuild && \ - CC=$(WhatGccIsCalled) $(SHELL) configure \ - --enable-shared=no --host=$(PLATFORM) --build=$(PLATFORM) - $(MAKE) -C gmp/gmpbuild MAKEFLAGS= - $(CP) gmp/gmpbuild/gmp.h gmp/ - $(CP) gmp/gmpbuild/.libs/libgmp.a gmp/ - $(RANLIB) gmp/libgmp.a - -ifneq "$(NO_CLEAN_GMP)" "YES" -$(eval $(call clean-target,gmp,,\ - gmp/libgmp.a gmp/gmp.h gmp/gmpbuild gmp/$(GMP_DIR))) -endif - -# XXX TODO: -#stamp.gmp.shared: -# $(RM) -rf $(GMP_DIR) gmpbuild-shared -# $(TAR) -zxf $(GMP_TARBALL) -# mv $(GMP_DIR) gmpbuild-shared -# chmod +x ln -# (set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \ -# PATH=`pwd`:$$PATH; \ -# export PATH; \ -# cd gmpbuild-shared && \ -# CC=$(WhatGccIsCalled) $(SHELL) configure \ -# --enable-shared=yes --disable-static --host=$(PLATFORM) --build=$(PLATFORM) -# touch $@ -# -#gmp.h: stamp.gmp.static -# $(CP) gmpbuild/gmp.h . -# -#libgmp.a: stamp.gmp.static -# -#libgmp-3.dll: stamp.gmp.shared -# $(MAKE) -C gmpbuild-shared MAKEFLAGS= -# $(CP) gmpbuild-shared/.libs/libgmp-3.dll . -# -#libgmp.dll.a: libgmp-3.dll -# $(CP) gmpbuild-shared/.libs/libgmp.dll.a . - -## GMP takes a long time to build, but changes rarely. Hence we don't -## bother cleaning it before validating, because that adds a -## significant overhead to validation. -#ifeq "$(Validating)" "NO" -#clean distclean maintainer-clean :: -# $(RM) -f stamp.gmp.static stamp.gmp.shared -# $(RM) -rf gmpbuild -# $(RM) -rf gmpbuild-shared -#endif - diff --git a/gmp/ln b/gmp/ln deleted file mode 100644 index a3a297c..0000000 --- a/gmp/ln +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -exit 1 - diff --git a/gmp/tarball/gmp-4.2.4-nodoc.tar.bz2 b/gmp/tarball/gmp-4.2.4-nodoc.tar.bz2 deleted file mode 100644 index acd7482..0000000 Binary files a/gmp/tarball/gmp-4.2.4-nodoc.tar.bz2 and /dev/null differ