]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - lfs/glibc
openssl: update to 0.9.8u.
[people/teissler/ipfire-2.x.git] / lfs / glibc
CommitLineData
cd1a2927 1###############################################################################
cd1a2927 2# #
70df8302 3# IPFire.org - A linux based firewall #
d10cf0df 4# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
70df8302
MT
5# #
6# This program is free software: you can redistribute it and/or modify #
cd1a2927 7# it under the terms of the GNU General Public License as published by #
70df8302 8# the Free Software Foundation, either version 3 of the License, or #
cd1a2927
MT
9# (at your option) any later version. #
10# #
70df8302 11# This program is distributed in the hope that it will be useful, #
cd1a2927
MT
12# but WITHOUT ANY WARRANTY; without even the implied warranty of #
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14# GNU General Public License for more details. #
15# #
16# You should have received a copy of the GNU General Public License #
70df8302 17# along with this program. If not, see <http://www.gnu.org/licenses/>. #
cd1a2927 18# #
cd1a2927
MT
19###############################################################################
20
21###############################################################################
22# Definitions
23###############################################################################
24
25include Config
26
cc72d5cb 27ifeq "$(MACHINE_TYPE)" "arm"
51f9e7ac
MT
28 VER = 2.5
29else
30 VER = 2.3.6
31endif
cd1a2927 32
dd714b8a 33THISAPP = glibc-$(VER)
cd1a2927 34DL_FILE = $(THISAPP).tar.bz2
7a98bae5 35DL_FROM = $(URL_IPFIRE)
cd1a2927 36DIR_APP = $(DIR_SRC)/$(THISAPP)
cd1a2927
MT
37
38# Normal build or /tools build.
39#
40ifeq "$(ROOT)" ""
41 TARGET = $(DIR_INFO)/$(THISAPP)
42 EXTRA_CONFIG = --prefix=/usr \
1d2919b2 43 --disable-profile --enable-add-ons \
dd714b8a 44 --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc
cd1a2927
MT
45 EXTRA_MAKE =
46 EXTRA_INSTALL =
47else
48 TARGET = $(DIR_INFO)/$(THISAPP)-tools
49 EXTRA_CONFIG = --prefix=/tools \
1d2919b2 50 --disable-profile --enable-add-ons \
dd714b8a
MT
51 --enable-kernel=2.6.0 --with-binutils=/tools/bin \
52 --without-gd --with-headers=/tools/include \
53 --without-selinux
e22c7973
MT
54 EXTRA_MAKE =
55 EXTRA_INSTALL =
cd1a2927
MT
56endif
57
d10cf0df
AF
58EXTRA_CONFIG += --build=$(BUILDTARGET)
59
cc72d5cb 60ifeq "$(MACHINE_TYPE)" "arm"
51f9e7ac
MT
61 # Disable hardware FP for ARM.
62 EXTRA_CONFIG += \
1d2919b2 63 --without-fp
51f9e7ac
MT
64endif
65
cd1a2927
MT
66###############################################################################
67# Top-level Rules
68###############################################################################
69
dd714b8a
MT
70objects = $(DL_FILE) \
71 glibc-libidn-$(VER).tar.bz2
cd1a2927
MT
72
73$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
dd714b8a 74glibc-libidn-$(VER).tar.bz2 = $(DL_FROM)/glibc-libidn-$(VER).tar.bz2
cd1a2927 75
cc72d5cb 76ifeq "$(MACHINE_TYPE)" "arm"
51f9e7ac
MT
77 $(DL_FILE)_MD5 = 1fb29764a6a650a4d5b409dda227ac9f
78 glibc-libidn-$(VER).tar.bz2_MD5 = 8787868ba8962d9b125997ec2f25ac01
79else
80 $(DL_FILE)_MD5 = bfdce99f82d6dbcb64b7f11c05d6bc96
81 glibc-libidn-$(VER).tar.bz2_MD5 = 49dbe06ce830fc73874d6b38bdc5b4db
82endif
83
84# ARM needs glibc-ports
cc72d5cb 85ifeq "$(MACHINE_TYPE)" "arm"
51f9e7ac
MT
86 objects += glibc-ports-$(VER).tar.bz2
87 glibc-ports-$(VER).tar.bz2 = $(DL_FROM)/glibc-ports-$(VER).tar.bz2
88 glibc-ports-$(VER).tar.bz2_MD5 = 183f6d46e8fa5e4b2aff240ab1586c2e
89endif
cd1a2927
MT
90
91install : $(TARGET)
92
93check : $(patsubst %,$(DIR_CHK)/%,$(objects))
94
95download :$(patsubst %,$(DIR_DL)/%,$(objects))
96
97md5 : $(subst %,%_MD5,$(objects))
98
99###############################################################################
100# Downloading, checking, md5sum
101###############################################################################
102
103$(patsubst %,$(DIR_CHK)/%,$(objects)) :
104 @$(CHECK)
105
106$(patsubst %,$(DIR_DL)/%,$(objects)) :
107 @$(LOAD)
108
109$(subst %,%_MD5,$(objects)) :
110 @$(MD5)
111
112###############################################################################
113# Installation Details
114###############################################################################
115
116$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
117 @$(PREBUILD)
118 @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd1a2927 119 @mkdir $(DIR_SRC)/glibc-build
cc72d5cb 120ifeq "$(MACHINE_TYPE)" "arm"
51f9e7ac
MT
121 cd $(DIR_APP) && tar jxf $(DIR_DL)/glibc-ports-$(VER).tar.bz2
122 cd $(DIR_APP) && mv -v glibc-ports-$(VER) ports
123
124 cd $(DIR_APP)/ports && patch -Np1 -i $(DIR_SRC)/src/patches/glibc-ports-avoid-using-asm-procinfo.patch
125
126 # asm/page.h should not be included in sysdeps/unix/sysv/linux/arm/ioperm.c.
127 cd $(DIR_APP) && sed "/asm\/page.h/d" -i ports/sysdeps/unix/sysv/linux/arm/ioperm.c
128else
82a8499a 129 cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-dont_use_origin_on_privil_exec.patch
51f9e7ac 130endif
82a8499a 131
9b0ff0a0 132ifeq "$(ROOT)" ""
51f9e7ac 133ifeq "$(MACHINE)" "i586"
9b0ff0a0
MT
134 cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-linux_types-1.patch
135 cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-inotify-1.patch
51f9e7ac 136endif
dd714b8a
MT
137 # This locale causes a loop on bash login - exclude it
138 cd $(DIR_APP) && sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED
cc72d5cb 139ifeq "$(MACHINE_TYPE)" "arm"
51f9e7ac
MT
140 cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
141 scripts/test-installation.pl
142else
dd714b8a
MT
143 cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \
144 scripts/test-installation.pl
9b0ff0a0 145endif
51f9e7ac
MT
146endif
147 cd $(DIR_SRC)/glibc-build && CFLAGS="$(CFLAGS)" $(DIR_APP)/configure $(EXTRA_CONFIG)
9b0ff0a0 148
cd1a2927
MT
149ifeq "$(ROOT)" ""
150 touch /etc/ld.so.conf
dd714b8a 151 cd $(DIR_SRC)/glibc-build && make $(MAKETUNING) $(EXTRA_MAKE)
cd1a2927 152 cd $(DIR_SRC)/glibc-build && make $(EXTRA_INSTALL) install
51f9e7ac 153ifeq "$(MACHINE)" "i586"
dd714b8a 154 cp -v $(DIR_APP)/sysdeps/unix/sysv/linux/inotify.h /usr/include/sys
51f9e7ac 155endif
cd1a2927
MT
156else
157 -mkdir /tools/etc
158 touch /tools/etc/ld.so.conf
dd714b8a
MT
159 cd $(DIR_SRC)/glibc-build && make $(MAKETUNING) $(EXTRA_MAKE)
160 cd $(DIR_SRC)/glibc-build && make $(EXTRA_INSTALL) install
cd1a2927
MT
161endif
162
163 # Creating the locales
164ifeq "$(ROOT)" ""
165 mkdir -p /usr/lib/locale
cd1a2927
MT
166 cd $(DIR_SRC)/glibc-build && localedef -i en_US -f ISO-8859-1 en_US
167 cd $(DIR_SRC)/glibc-build && localedef -i en_US -f UTF-8 en_US.utf8
cd1a2927 168endif
cd1a2927
MT
169 @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build
170 @$(POSTBUILD)