Blame view

buildroot/buildroot-2016.08.1/package/icu/0003-detect-compiler-symbol-prefix.patch 6.42 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
  detect and add compiler symbol prefix to the assembly code
  
  Some compiler, such as Blackfin GNU compiler, prefix a charater to any
  C symbol in generated assembly code. If any assembly symbol is invoked
  from C code, it needs to be prefixed as well.
  
  Note: since autoreconf doesn't work with this package because automake
  isn't support
  
  [Ryan: add information about why patching configure is ok]
  [Gustavo: update for ICU4C 54.1]
  
  Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
  Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
  Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
  
  diff -Nura icu.orig/source/configure icu/source/configure
  --- icu.orig/source/configure	2014-12-18 15:49:43.038628644 -0300
  +++ icu/source/configure	2014-12-18 15:56:05.793832186 -0300
  @@ -637,6 +637,7 @@
   ICUDATA_CHAR
   SAMPLES_TRUE
   TESTS_TRUE
  +SYMBOL_PREFIX
   ICULIBSUFFIXCNAME
   U_HAVE_LIB_SUFFIX
   ICULIBSUFFIX
  @@ -7414,6 +7415,17 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHECK_UTF16_STRING_RESULT" >&5
   $as_echo "$CHECK_UTF16_STRING_RESULT" >&6; }
   
  +# Check compiler generated symbol profix
  +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5
  +$as_echo "checking for symbol prefix... " >&6; }
  +   SYMBOL_PREFIX=`echo "PREFIX=__USER_LABEL_PREFIX__" \
  +                  | ${CPP-${CC-gcc} -E} - 2>&1 \
  +                  | ${EGREP-grep} "^PREFIX=" \
  +                  | sed -e "s:^PREFIX=::" -e "s:__USER_LABEL_PREFIX__::"`
  +
  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYMBOL_PREFIX" >&5
  +$as_echo "$SYMBOL_PREFIX" >&6; }
  +
   # Enable/disable extras
   # Check whether --enable-extras was given.
   if test "${enable_extras+set}" = set; then :
  diff -Nura icu.orig/source/data/Makefile.in icu/source/data/Makefile.in
  --- icu.orig/source/data/Makefile.in	2014-12-18 15:49:42.908624160 -0300
  +++ icu/source/data/Makefile.in	2014-12-18 16:01:32.751110913 -0300
  @@ -182,11 +182,11 @@
   packagedata: icupkg.inc $(PKGDATA_LIST) build-local
   ifneq ($(ENABLE_STATIC),)
   ifeq ($(PKGDATA_MODE),dll)
  -	$(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST)
  +	$(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST)
   endif
   endif
   ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES)
  -	$(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST)
  +	$(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST)
   else
   	$(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(OUTDIR)
   endif
  @@ -209,11 +209,11 @@
   endif
   ifneq ($(ENABLE_STATIC),)
   ifeq ($(PKGDATA_MODE),dll)
  -	$(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR)
  +	$(PKGDATA_INVOKE) $(PKGDATA) -m static -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR)
   endif
   endif
   ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES)
  -	$(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR)
  +	$(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR)
   else
   	$(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(DESTDIR)$(ICUPKGDATA_DIR)
   endif
  @@ -224,7 +224,7 @@
   #### 390 support
   install390: package390
   	$(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir)
  -	$(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR)
  +	$(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR)
   ifeq ($(PKGDATA_MODE),dll)
   	$(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(FINAL_IMPORT_LIB) $(DESTDIR)$(ICUPKGDATA_DIR)/$(FINAL_IMPORT_LIB)
   endif
  @@ -232,7 +232,7 @@
   #### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode
   package390: $(OUTTMPDIR)/icudata390.lst $(PKGDATA_LIST) ./icupkg.inc packagedata
   	ln -s $(ICUDATA_NAME) $(OUTDIR)/build/$(ICUDATA_NAME)$(STUB_SUFFIX)
  -	$(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING)
  +	$(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING)
   	cp $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) $(top_builddir)/stubdata/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO)
   
   
  diff -Nura icu.orig/source/extra/uconv/Makefile.in icu/source/extra/uconv/Makefile.in
  --- icu.orig/source/extra/uconv/Makefile.in	2014-12-18 15:49:42.986626850 -0300
  +++ icu/source/extra/uconv/Makefile.in	2014-12-18 15:57:40.558101179 -0300
  @@ -58,7 +58,8 @@
   ## Static mode
   ifeq ($(UCONVMSG_MODE),static)
   DEFS += -DUCONVMSG_LINK=$(MSGNAME)
  -UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)$(MSGNAME).$(A)
  +UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)@SYMBOL_PREFIX@$(MSGNAME).$(A)
  +
   LIBS += $(UCONVMSG_LIB)
   PKGMODE=static
   INSTALLTO=$(libdir)
  @@ -152,7 +153,7 @@
   endif
   
   $(UCONVMSG_LIB): $(RESFILES) $(RESDIR)/$(RESDIR).lst pkgdata.inc
  -	$(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
  +	$(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p @SYMBOL_PREFIX@$(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
   
   $(RESDIR)/$(RESDIR).lst: Makefile $(srcdir)/resfiles.mk
   	@-$(RMV) $@