blob: 35bdfd184be852fea35391ad2ad6bee3831fceb8 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2012-2013 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7include $(TOPDIR)/rules.mk
8include $(INCLUDE_DIR)/target.mk
9
10PKG_NAME:=musl
11PKG_VERSION:=1.2.5
12PKG_RELEASE:=1
13
14PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=https://musl.libc.org/releases/
16PKG_HASH:=a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4
17PKG_CPE_ID:=cpe:/a:musl-libc:musl
18
19LIBC_SO_VERSION:=$(PKG_VERSION)
20PATCH_DIR:=$(PATH_PREFIX)/patches
21
22BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
23HOST_BUILD_PREFIX:=$(TOOLCHAIN_DIR)
24HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)
25
26include $(INCLUDE_DIR)/host-build.mk
27include $(INCLUDE_DIR)/hardening.mk
28
29TARGET_CFLAGS:= $(filter-out -O%,$(TARGET_CFLAGS))
30TARGET_CFLAGS+= $(if $(CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK),,-DCRYPT_SIZE_HACK)
31
32MUSL_CONFIGURE:= \
33 $(TARGET_CONFIGURE_OPTS) \
34 CFLAGS="$(TARGET_CFLAGS)" \
35 CROSS_COMPILE="$(TARGET_CROSS)" \
36 $(HOST_BUILD_DIR)/configure \
37 --prefix=/ \
38 --host=$(GNU_HOST_NAME) \
39 --target=$(REAL_GNU_TARGET_NAME) \
40 --disable-gcc-wrapper \
41 --enable-debug \
42 --enable-optimize
43
44define Host/Configure
45 ln -snf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
46 ( cd $(HOST_BUILD_DIR); rm -f config.cache; \
47 $(MUSL_CONFIGURE) \
48 );
49endef
50
51define Host/Clean
52 rm -rf \
53 $(HOST_BUILD_DIR) \
54 $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) \
55 $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev
56endef