Changeset 25745


Ignore:
Timestamp:
2011-02-26T21:17:17+01:00 (7 years ago)
Author:
jow
Message:

[backfire] include: sync autotools.mk from trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/include/autotools.mk

    r25681 r25745  
    66# 
    77 
    8 define replace 
    9         if [ -f "$(PKG_BUILD_DIR)/$(3)$(1)" -a -e "$(2)/$(if $(4),$(4),$(1))" ]; then \ 
    10                 rm -f $(PKG_BUILD_DIR)/$(3)$(1); \ 
    11                 ln -s $(2)/$(if $(4),$(4),$(1)) $(PKG_BUILD_DIR)/$(3)$(1); \ 
    12         fi 
    13          
     8autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2)) 
     9 
     10# delete *.la-files from staging_dir - we can not yet remove respective lines within all package 
     11# Makefiles, since backfire still uses libtool v1.5.x which (may) require those files 
     12define libtool_remove_files 
     13        find $(1) -name '*.la' | $(XARGS) rm -f; 
    1414endef 
    1515 
    16 PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH) 
    1716 
    18 # replace copies of ltmain.sh with the build system's version 
    19 update_libtool_common = \ 
    20         $(foreach p,$(LIBTOOL_PATHS), \ 
    21                 $(call replace,ltmain.sh,$(STAGING_DIR)/host/share/libtool,$(p)/) \ 
    22                 $(call replace,libtool.m4,$(STAGING_DIR)/host/share/aclocal,$(p)/) \ 
    23         ) 
    24 update_libtool = \ 
    25         $(foreach p,$(PKG_LIBTOOL_PATHS), \ 
    26                 $(call replace,libtool,$(STAGING_DIR)/host/bin,$(p)/) \ 
    27         ) \ 
    28         $(call update_libtool_common) 
    29 update_libtool_ucxx = \ 
    30         $(foreach p,$(PKG_LIBTOOL_PATHS), \ 
    31                 $(call replace,libtool,$(STAGING_DIR)/host/bin,$(p)/,libtool-ucxx) \ 
    32         ) \ 
    33         $(call update_libtool_common) 
     17AM_TOOL_PATHS:= \ 
     18        AUTOM4TE=$(STAGING_DIR_HOST)/bin/autom4te \ 
     19        AUTOCONF=$(STAGING_DIR_HOST)/bin/autoconf \ 
     20        AUTOMAKE=$(STAGING_DIR_HOST)/bin/automake \ 
     21        ACLOCAL=$(STAGING_DIR_HOST)/bin/aclocal \ 
     22        AUTOHEADER=$(STAGING_DIR_HOST)/bin/autoheader \ 
     23        LIBTOOLIZE=$(STAGING_DIR_HOST)/bin/libtoolize \ 
     24        LIBTOOL=$(STAGING_DIR_HOST)/bin/libtool \ 
     25        M4=$(STAGING_DIR_HOST)/bin/m4 \ 
     26        AUTOPOINT=true 
    3427 
    35 autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2)) 
    36  
    37 # prevent libtool from linking against host development libraries 
    38 define libtool_fixup_libdir 
    39         find $(1) -name '*.la' | $(XARGS) \ 
    40                 $(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_DIR)/usr/lib,g" \ 
    41                     -e "s,$(STAGING_DIR)/usr/lib/\(libstdc++\|libsupc++\).la,$(TOOLCHAIN_DIR)/usr/lib/\1.la,g" 
    42 endef 
    43  
    44 define remove_version_check 
    45         if [ -f "$(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/configure" ]; then \ 
    46                 $(SED) \ 
    47                         's,\(gentoo\|pardus\)_ltmain_version=.*,\1_ltmain_version="$$$$\1_lt_version",' \ 
    48                         $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/configure; \ 
    49         fi 
    50 endef 
    51  
     28# 1: build dir 
     29# 2: remove files 
     30# 3: automake paths 
     31# 4: libtool paths 
     32# 5: extra m4 dirs 
    5233define autoreconf 
    53         (cd $(PKG_BUILD_DIR); \ 
    54                 $(patsubst %,rm -f %;,$(PKG_REMOVE_FILES)) \ 
    55                 if [ -x ./autogen.sh ]; then \ 
    56                         ./autogen.sh || true; \ 
    57                 elif [ -f ./configure.ac ] || [ -f ./configure.in ]; then \ 
    58                         [ -f ./aclocal.m4 ] && [ ! -f ./acinclude.m4 ] && mv aclocal.m4 acinclude.m4; \ 
    59                         [ -d ./autom4te.cache ] && rm -rf autom4te.cache; \ 
    60                         $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \ 
    61                                 -B $(STAGING_DIR)/host/share/aclocal \ 
    62                                 $(patsubst %,-I %,$(PKG_LIBTOOL_PATHS)) $(PKG_LIBTOOL_PATHS) || true; \ 
    63                 fi \ 
     34        (cd $(1); \ 
     35                $(patsubst %,rm -f %;,$(2)) \ 
     36                $(foreach p,$(3), \ 
     37                        if [ -f $(p)/configure.ac ] || [ -f $(p)/configure.in ]; then \ 
     38                                [ -d $(p)/autom4te.cache ] && rm -rf autom4te.cache; \ 
     39                                touch NEWS AUTHORS COPYING ChangeLog; \ 
     40                                $(AM_TOOL_PATHS) $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \ 
     41                                        -B $(STAGING_DIR_HOST)/share/aclocal \ 
     42                                        $(patsubst %,-I %,$(5)) \ 
     43                                        $(patsubst %,-I %,$(4)) $(4) || true; \ 
     44                        fi; \ 
     45                ) \ 
    6446        ); 
    6547endef 
    6648 
    67 ifneq ($(filter autoreconf,$(PKG_FIXUP)),) 
    68   Hooks/Configure/Pre += autoreconf 
    69 endif 
     49 
     50PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH) 
     51PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH) 
     52PKG_MACRO_PATHS?=m4 
     53PKG_REMOVE_FILES?=aclocal.m4 
     54 
     55Hooks/InstallDev/Post += libtool_remove_files 
     56 
     57define autoreconf_target 
     58  $(strip $(call autoreconf, \ 
     59    $(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \ 
     60    $(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \ 
     61    $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS))) 
     62endef 
    7063 
    7164ifneq ($(filter libtool,$(PKG_FIXUP)),) 
    7265  PKG_BUILD_DEPENDS += libtool libintl libiconv 
    73   Hooks/Configure/Pre += update_libtool remove_version_check 
    74   Hooks/Configure/Post += update_libtool 
    75   Hooks/InstallDev/Post += libtool_fixup_libdir 
     66 ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) 
     67  Hooks/Configure/Pre += autoreconf_target 
     68 endif 
    7669endif 
    7770 
    7871ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),) 
    7972  PKG_BUILD_DEPENDS += libtool libintl libiconv 
    80   Hooks/Configure/Pre += update_libtool_ucxx remove_version_check 
    81   Hooks/Configure/Post += update_libtool_ucxx 
    82   Hooks/InstallDev/Post += libtool_fixup_libdir 
     73 ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) 
     74  Hooks/Configure/Pre += autoreconf_target 
     75 endif 
    8376endif 
    8477 
     78ifneq ($(filter autoreconf,$(PKG_FIXUP)),) 
     79  ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),) 
     80    Hooks/Configure/Pre += autoreconf_target 
     81  endif 
     82endif 
     83 
     84 
     85HOST_FIXUP?=$(PKG_FIXUP) 
     86HOST_LIBTOOL_PATHS?=$(if $(PKG_LIBTOOL_PATHS),$(PKG_LIBTOOL_PATHS),.) 
     87HOST_AUTOMAKE_PATHS?=$(if $(PKG_AUTOMAKE_PATHS),$(PKG_AUTOMAKE_PATHS),.) 
     88HOST_MACRO_PATHS?=$(if $(PKG_MACRO_PATHS),$(PKG_MACRO_PATHS),m4) 
     89HOST_REMOVE_FILES?=$(PKG_REMOVE_FILES) 
     90 
     91define autoreconf_host 
     92  $(strip $(call autoreconf, \ 
     93    $(HOST_BUILD_DIR), $(HOST_REMOVE_FILES), \ 
     94    $(HOST_AUTOMAKE_PATHS), $(HOST_LIBTOOL_PATHS), \ 
     95    $(HOST_MACRO_PATHS))) 
     96endef 
     97 
     98ifneq ($(filter libtool,$(HOST_FIXUP)),) 
     99 ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) 
     100  Hooks/HostConfigure/Pre += autoreconf_host 
     101 endif 
     102endif 
     103 
     104ifneq ($(filter libtool-ucxx,$(HOST_FIXUP)),) 
     105 ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) 
     106  Hooks/HostConfigure/Pre += autoreconf_host 
     107 endif 
     108endif 
     109 
     110ifneq ($(filter autoreconf,$(HOST_FIXUP)),) 
     111  ifeq ($(filter autoreconf,$(Hooks/HostConfigure/Pre)),) 
     112    Hooks/HostConfigure/Pre += autoreconf_host 
     113  endif 
     114endif 
Note: See TracChangeset for help on using the changeset viewer.