5 kx
5 kx COMPONENT_TARGETS = $(HARDWARE_BUILD)
5 kx
5 kx include ../../../../../build-system/constants.mk
5 kx
5 kx SOURCE_REQUIRES = build-system/3pp/sources/packages/perl
5 kx
5 kx REQUIRES = build-system/cpan
5 kx
5 kx # ======= __END_OF_REQUIRES__ =======
5 kx
5 kx version = 5.36.0
5 kx tar_xz_archive = $(BUILDSYSTEM)/3pp/sources/packages/perl/perl-$(version).tar.xz
5 kx SRC_ARCHIVE = $(tar_xz_archive)
5 kx SRC_DIR = $(TARGET_BUILD_DIR)/perl-$(version)
5 kx src_done = $(TARGET_BUILD_DIR)/.source-done
5 kx
5 kx PATCHES = PATCHES
5 kx
5 kx build_target = $(TARGET_BUILD_DIR)/.built
5 kx install_target = $(TARGET_BUILD_DIR)/.installed
5 kx
5 kx BUILD_TARGETS = $(build_target)
5 kx BUILD_TARGETS += $(install_target)
5 kx
5 kx
5 kx include ../../../../../build-system/core.mk
5 kx
5 kx
5 kx ARCH = $(shell uname -m)
5 kx ARCHNAME = $(ARCH)-linux
5 kx
5 kx OPTIMIZE = -O2
5 kx
5 kx ifeq ($(ARCH),x86_64)
5 kx ARCH_OPTS = -Dcccdlflags='-fPIC' -Duselargefiles -Duse64bitall
5 kx OPTIMIZE += -fPIC
5 kx endif
5 kx
5 kx OPTIMIZE += -Wno-cast-function-type -Wno-nonnull -Wno-clobbered
5 kx OPTIMIZE += -Wno-multistatement-macros -Wimplicit-fallthrough=0
5 kx
5 kx #
5 kx # If after all this time you still don't trust threads, comment out the variable below:
5 kx #
5 kx USE_THREADS = -Dusethreads -Duseithreads
5 kx
5 kx
5 kx extra_configure_switches = -Darchname=$(ARCHNAME)
5 kx
5 kx extra_configure_switches += -Dprefix=$(BUILDSYSTEM)/usr
5 kx extra_configure_switches += -Dbin='$(BUILDSYSTEM)/usr/bin'
5 kx extra_configure_switches += -Dscriptdir='$(BUILDSYSTEM)/usr/bin'
5 kx
5 kx extra_configure_switches += -Darchlib='$(BUILDSYSTEM)/usr/lib/perl5'
5 kx extra_configure_switches += -Dprivlib='$(BUILDSYSTEM)/usr/share/perl5'
5 kx
5 kx extra_configure_switches += -Dsiteprefix=$(BUILDSYSTEM)/usr
5 kx extra_configure_switches += -Dsitebin='$(BUILDSYSTEM)/usr/bin'
5 kx extra_configure_switches += -Dsitescript='$(BUILDSYSTEM)/usr/bin'
5 kx extra_configure_switches += -Dsitearch='$(BUILDSYSTEM)/usr/lib/perl5/site_perl'
5 kx extra_configure_switches += -Dsitelib='$(BUILDSYSTEM)/usr/share/perl5/site_perl'
5 kx
5 kx extra_configure_switches += -Dvendorprefix=$(BUILDSYSTEM)/usr
5 kx extra_configure_switches += -Dvendorbin='$(BUILDSYSTEM)/usr/bin'
5 kx extra_configure_switches += -Dvendorscript='$(BUILDSYSTEM)/usr/bin'
5 kx extra_configure_switches += -Dvendorarch='$(BUILDSYSTEM)/usr/lib/perl5/vendor_perl'
5 kx extra_configure_switches += -Dvendorlib='$(BUILDSYSTEM)/usr/share/perl5/vendor_perl'
5 kx
5 kx extra_configure_switches += -Dinstallprefix=$(BUILDSYSTEM)/usr
5 kx extra_configure_switches += -Dlibpth='$(BUILDSYSTEM)/usr/lib'
5 kx extra_configure_switches += -Dloclibpth='$(BUILDSYSTEM)/usr/lib'
5 kx extra_configure_switches += -Dlocincpth='$(BUILDSYSTEM)/usr/include'
5 kx
5 kx extra_configure_switches += -Doptimize='$(OPTIMIZE)'
5 kx extra_configure_switches += $(USE_THREADS)
5 kx extra_configure_switches += $(ARCH_OPTS)
5 kx extra_configure_switches += -Duseshrplib
5 kx extra_configure_switches += -Ubincompat5005
5 kx extra_configure_switches += -Uversiononly
5 kx
5 kx extra_configure_switches += -Dpager='/usr/bin/less -isr'
5 kx
5 kx extra_configure_switches += -Dhtml1dir='$(BUILDSYSTEM)/usr/share/doc/perl-$(version)/html'
5 kx extra_configure_switches += -Dhtml3dir='$(BUILDSYSTEM)/usr/share/doc/perl-$(version)/html'
5 kx extra_configure_switches += -Dman1dir='$(BUILDSYSTEM)/usr/share/man/man1'
5 kx extra_configure_switches += -Dman3dir='$(BUILDSYSTEM)/usr/share/man/man3'
5 kx
5 kx
5 kx $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
5 kx $(UNPACK_SRC_ARCHIVE)
5 kx $(APPLY_PATCHES)
5 kx @cd $(SRC_DIR) && echo 'installstyle="lib/perl5"' >> hints/linux.sh
5 kx @touch $@
5 kx
5 kx $(build_target): $(src_done)
5 kx @cd $(SRC_DIR) && ./Configure -des $(extra_configure_switches)
5 kx @cd $(SRC_DIR) && $(MAKE)
5 kx @touch $@
5 kx
5 kx $(install_target): $(build_target)
5 kx @echo -e "\n======= Installing Perl 5 binary =======\n"
5 kx @cd $(SRC_DIR) && $(MAKE) -j1 install
5 kx @echo -e "\n======= Install Perl modules =======\n"
5 kx @( cd $(BUILDSYSTEM)/usr/bin ; \
5 kx ./cpan-install Module::Build 2>/dev/null ; \
5 kx ./cpan-install IPC::System::Simple 2>/dev/null ; \
5 kx ./cpan-install File::Slurp 2>/dev/null ; \
5 kx ./cpan-install File::Which 2>/dev/null ; \
5 kx ./cpan-install List::MoreUtils 2>/dev/null ; \
5 kx ./cpan-install Data::Dumper 2>/dev/null ; \
5 kx ./cpan-install Devel::CheckLib 2>/dev/null ; \
5 kx ./cpan-install DBI 2>/dev/null ; \
5 kx ./cpan-install URI 2>/dev/null ; \
5 kx )
5 kx @echo -e "\n======= Setup PERL build-system variable =======\n"
5 kx @mkdir -p $(BUILDSYSTEM)/sbin && \
5 kx echo "PERL := $(BUILDSYSTEM)/usr/bin/perl" >> $(BUILDSYSTEM)/sbin/.config
5 kx @touch $@