bump version
[buildroot.git] / package / mpfr / mpfr.mk
blob036d2dfdaf040f07b7ceee7735295cd1aa7551d6
1 #############################################################
3 # mpfr
5 #############################################################
6 MPFR_VERSION:=2.3.2
7 #MPFR_PATCH:=patches
8 MPFR_PATCH_FILE:=mpfr-$(MPFR_VERSION).patch
9 MPFR_SOURCE:=mpfr-$(MPFR_VERSION).tar.bz2
10 MPFR_CAT:=$(BZCAT)
11 MPFR_SITE:=http://www.mpfr.org/mpfr-current/
12 MPFR_DIR:=$(TOOL_BUILD_DIR)/mpfr-$(MPFR_VERSION)
13 MPFR_TARGET_DIR:=$(BUILD_DIR)/mpfr-$(MPFR_VERSION)
14 MPFR_BINARY:=libmpfr$(LIBTGTEXT)
15 MPFR_HOST_BINARY:=libmpfr$(HOST_SHREXT)
16 MPFR_LIBVERSION:=1.1.2
18 # No patch
19 ifeq ($(MPFR_PATCH),)
20 $(DL_DIR)/$(MPFR_SOURCE):
21 $(WGET) -P $(DL_DIR) $(MPFR_SITE)/$(MPFR_SOURCE)
23 libmpfr-source: $(DL_DIR)/$(MPFR_SOURCE)
24 endif
25 # need patch
26 ifneq ($(MPFR_PATCH),)
27 $(DL_DIR)/$(MPFR_SOURCE):
28 $(WGET) -P $(DL_DIR) $(MPFR_SITE)/$(MPFR_SOURCE)
30 $(DL_DIR)/$(MPFR_PATCH_FILE):
31 $(WGET) -O $@ $(MPFR_SITE)/$(MPFR_PATCH)
33 libmpfr-source: $(DL_DIR)/$(MPFR_SOURCE) $(DL_DIR)/$(MPFR_PATCH_FILE)
34 endif
36 ifeq ($(MPFR_PATCH),)
37 $(MPFR_DIR)/.unpacked: $(DL_DIR)/$(MPFR_SOURCE)
38 else
39 $(MPFR_DIR)/.unpacked: $(DL_DIR)/$(MPFR_SOURCE) $(DL_DIR)/$(MPFR_PATCH_FILE)
40 endif
41 $(MPFR_CAT) $(DL_DIR)/$(MPFR_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
42 toolchain/patch-kernel.sh $(MPFR_DIR) package/mpfr/ \*.patch
43 $(CONFIG_UPDATE) $(@D)
44 ifneq ($(MPFR_PATCH),)
45 ( cd $(MPFR_DIR); patch -p1 < $(DL_DIR)/$(MPFR_PATCH_FILE); )
46 endif
47 touch $@
49 $(MPFR_TARGET_DIR)/.configured: $(MPFR_DIR)/.unpacked $(STAGING_DIR)/usr/lib/$(GMP_BINARY)
50 mkdir -p $(MPFR_TARGET_DIR)
51 (cd $(MPFR_TARGET_DIR); rm -rf config.cache; \
52 $(TARGET_CONFIGURE_OPTS) \
53 $(TARGET_CONFIGURE_ARGS) \
54 $(TARGET_CONFIGURE_ENV) \
55 $(MPFR_DIR)/configure \
56 --target=$(REAL_GNU_TARGET_NAME) \
57 --host=$(REAL_GNU_TARGET_NAME) \
58 --build=$(GNU_HOST_NAME) \
59 --prefix=/usr \
60 $(PREFERRED_LIB_FLAGS) \
61 --with-gmp-build=$(GMP_TARGET_DIR) \
62 $(DISABLE_NLS) \
64 touch $@
66 $(MPFR_TARGET_DIR)/.libs/$(MPFR_BINARY): $(MPFR_TARGET_DIR)/.configured
67 #$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(MPFR_TARGET_DIR)
68 $(MAKE) -C $(MPFR_TARGET_DIR)
70 $(STAGING_DIR)/usr/lib/$(MPFR_BINARY): $(MPFR_TARGET_DIR)/.libs/$(MPFR_BINARY)
71 $(MAKE) DESTDIR=$(STAGING_DIR) -C $(MPFR_TARGET_DIR) install
72 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(STAGING_DIR)/usr/lib/libmpfr$(LIBTGTEXT)*
74 $(TARGET_DIR)/usr/lib/libmpfr.so $(TARGET_DIR)/usr/lib/libmpfr.so.$(MPFR_LIBVERSION) $(TARGET_DIR)/usr/lib/libmpfr.a: $(STAGING_DIR)/usr/lib/$(MPFR_BINARY)
75 cp -dpf $(STAGING_DIR)/usr/lib/libmpfr$(LIBTGTEXT)* $(TARGET_DIR)/usr/lib/
76 ifeq ($(BR2_PACKAGE_LIBMPFR_HEADERS),y)
77 cp -dpf $(STAGING_DIR)/usr/include/mpfr.h $(STAGING_DIR)/usr/include/mpf2mpfr.h \
78 $(TARGET_DIR)/usr/include/
79 endif
81 libmpfr: uclibc $(TARGET_DIR)/usr/lib/libmpfr$(LIBTGTEXT)
82 stage-libmpfr: uclibc $(STAGING_DIR)/usr/lib/$(MPFR_BINARY)
84 libmpfr-clean:
85 -$(MAKE) -C $(MPFR_TARGET_DIR) clean
86 rm -f $(TARGET_DIR)/usr/lib/libmpfr.* \
87 $(TARGET_DIR)/usr/include/mpfr.h \
88 $(TARGET_DIR)/usr/include/mpf2mpfr.h \
89 $(STAGING_DIR)/usr/lib/libmpfr* \
90 $(STAGING_DIR)/usr/include/mpfr* \
91 $(MPFR_TARGET_DIR)/.configured
93 libmpfr-dirclean:
94 rm -rf $(MPFR_TARGET_DIR)
96 MPFR_DIR2:=$(TOOL_BUILD_DIR)/mpfr-$(MPFR_VERSION)-host
97 MPFR_HOST_DIR:=$(TOOL_BUILD_DIR)/mpfr
98 $(MPFR_DIR2)/.configured: $(MPFR_DIR)/.unpacked $(GMP_HOST_DIR)/lib/$(GMP_HOST_BINARY)
99 mkdir -p $(MPFR_DIR2)
100 (cd $(MPFR_DIR2); \
101 $(HOST_CONFIGURE_OPTS) \
102 $(MPFR_DIR)/configure \
103 --prefix="$(MPFR_HOST_DIR)" \
104 --build=$(GNU_HOST_NAME) \
105 --host=$(GNU_HOST_NAME) \
106 --enable-shared \
107 --enable-static \
108 --with-gmp=$(GMP_HOST_DIR) \
109 $(DISABLE_NLS) \
111 touch $@
113 $(MPFR_HOST_DIR)/lib/libmpfr$(HOST_LIBEXT) $(MPFR_HOST_DIR)/lib/libmpfr$(HOST_SHREXT) $(MPFR_HOST_DIR)/lib/libmpfr$(HOST_SHREXT).$(MPFR_LIBVERSION): $(MPFR_DIR2)/.configured
114 $(MAKE) -C $(MPFR_DIR2) install
116 host-libmpfr: $(MPFR_HOST_DIR)/lib/$(MPFR_HOST_BINARY)
117 host-libmpfr-clean:
118 -$(MAKE) -C $(MPFR_DIR2) clean
119 rm -rf $(MPFR_HOST_DIR)
121 host-libmpfr-dirclean:
122 rm -rf $(MPFR_HOST_DIR) $(MPFR_DIR2)
124 #############################################################
126 # Toplevel Makefile options
128 #############################################################
129 ifeq ($(BR2_PACKAGE_LIBMPFR),y)
130 TARGETS+=libmpfr
131 endif