Blame view

buildroot/buildroot-2016.08.1/package/libglib2/libglib2.mk 5.25 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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
  ################################################################################
  #
  # libglib2
  #
  ################################################################################
  
  LIBGLIB2_VERSION_MAJOR = 2.48
  LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).1
  LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz
  LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
  LIBGLIB2_LICENSE = LGPLv2+
  LIBGLIB2_LICENSE_FILES = COPYING
  
  LIBGLIB2_INSTALL_STAGING = YES
  LIBGLIB2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
  
  LIBGLIB2_CONF_ENV = \
  	ac_cv_func_posix_getpwuid_r=yes \
  	glib_cv_stack_grows=no \
  	glib_cv_uscore=no \
  	ac_cv_func_strtod=yes \
  	ac_fsusage_space=yes \
  	fu_cv_sys_stat_statfs2_bsize=yes \
  	ac_cv_func_closedir_void=no \
  	ac_cv_func_getloadavg=no \
  	ac_cv_lib_util_getloadavg=no \
  	ac_cv_lib_getloadavg_getloadavg=no \
  	ac_cv_func_getgroups=yes \
  	ac_cv_func_getgroups_works=yes \
  	ac_cv_func_chown_works=yes \
  	ac_cv_have_decl_euidaccess=no \
  	ac_cv_func_euidaccess=no \
  	ac_cv_have_decl_strnlen=yes \
  	ac_cv_func_strnlen_working=yes \
  	ac_cv_func_lstat_dereferences_slashed_symlink=yes \
  	ac_cv_func_lstat_empty_string_bug=no \
  	ac_cv_func_stat_empty_string_bug=no \
  	vb_cv_func_rename_trailing_slash_bug=no \
  	ac_cv_have_decl_nanosleep=yes \
  	jm_cv_func_nanosleep_works=yes \
  	gl_cv_func_working_utimes=yes \
  	ac_cv_func_utime_null=yes \
  	ac_cv_have_decl_strerror_r=yes \
  	ac_cv_func_strerror_r_char_p=no \
  	jm_cv_func_svid_putenv=yes \
  	ac_cv_func_getcwd_null=yes \
  	ac_cv_func_getdelim=yes \
  	ac_cv_func_mkstemp=yes \
  	utils_cv_func_mkstemp_limitations=no \
  	utils_cv_func_mkdir_trailing_slash_bug=no \
  	jm_cv_func_gettimeofday_clobber=no \
  	gl_cv_func_working_readdir=yes \
  	jm_ac_cv_func_link_follows_symlink=no \
  	utils_cv_localtime_cache=no \
  	ac_cv_struct_st_mtim_nsec=no \
  	gl_cv_func_tzset_clobber=no \
  	gl_cv_func_getcwd_null=yes \
  	gl_cv_func_getcwd_path_max=yes \
  	ac_cv_func_fnmatch_gnu=yes \
  	am_getline_needs_run_time_check=no \
  	am_cv_func_working_getline=yes \
  	gl_cv_func_mkdir_trailing_slash_bug=no \
  	gl_cv_func_mkstemp_limitations=no \
  	ac_cv_func_working_mktime=yes \
  	jm_cv_func_working_re_compile_pattern=yes \
  	ac_use_included_regex=no \
  	gl_cv_c_restrict=no \
  	ac_cv_path_GLIB_GENMARSHAL=$(HOST_DIR)/usr/bin/glib-genmarshal \
  	ac_cv_prog_F77=no \
  	ac_cv_func_posix_getgrgid_r=no \
  	glib_cv_long_long_format=ll \
  	ac_cv_func_printf_unix98=yes \
  	ac_cv_func_vsnprintf_c99=yes \
  	ac_cv_func_newlocale=no \
  	ac_cv_func_uselocale=no \
  	ac_cv_func_strtod_l=no \
  	ac_cv_func_strtoll_l=no \
  	ac_cv_func_strtoull_l=no \
  	gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no)
  
  # old uClibc versions don't provide qsort_r
  ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
  LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=no
  else
  LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=yes
  endif
  
  # glib/valgrind.h contains inline asm not compatible with thumb1
  ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
  LIBGLIB2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
  endif
  
  HOST_LIBGLIB2_CONF_OPTS = \
  	--disable-coverage \
  	--disable-dtrace \
  	--disable-fam \
  	--disable-libelf \
  	--disable-selinux \
  	--disable-systemtap \
  	--disable-xattr \
  	--with-pcre=system
  
  LIBGLIB2_DEPENDENCIES = \
  	host-pkgconf host-libglib2 host-gettext \
  	libffi pcre zlib $(if $(BR2_NEEDS_GETTEXT),gettext)
  
  HOST_LIBGLIB2_DEPENDENCIES = \
  	host-gettext host-libffi host-pcre host-pkgconf host-zlib
  
  LIBGLIB2_CONF_OPTS = \
  	--with-pcre=system
  
  ifneq ($(BR2_ENABLE_LOCALE),y)
  LIBGLIB2_DEPENDENCIES += libiconv
  endif
  
  ifeq ($(BR2_PACKAGE_ELFUTILS),y)
  LIBGLIB2_CONF_OPTS += --enable-libelf
  LIBGLIB2_DEPENDENCIES += elfutils
  else
  LIBGLIB2_CONF_OPTS += --disable-libelf
  endif
  
  ifeq ($(BR2_PACKAGE_LIBICONV),y)
  LIBGLIB2_CONF_OPTS += --with-libiconv=gnu
  LIBGLIB2_DEPENDENCIES += libiconv
  endif
  
  # Purge gdb-related files
  ifneq ($(BR2_PACKAGE_GDB),y)
  define LIBGLIB2_REMOVE_GDB_FILES
  	rm -rf $(TARGET_DIR)/usr/share/glib-2.0/gdb
  endef
  endif
  
  # Purge useless binaries from target
  define LIBGLIB2_REMOVE_DEV_FILES
  	rm -rf $(TARGET_DIR)/usr/lib/glib-2.0
  	rm -rf $(addprefix $(TARGET_DIR)/usr/share/glib-2.0/,codegen gettext)
  	rm -f $(addprefix $(TARGET_DIR)/usr/bin/,gdbus-codegen glib-compile-schemas glib-compile-resources glib-genmarshal glib-gettextize glib-mkenums gobject-query gtester gtester-report)
  	$(LIBGLIB2_REMOVE_GDB_FILES)
  endef
  
  LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES
  
  # Remove schema sources/DTDs, we use staging ones to compile them.
  # Do so at target finalization since other packages install additional
  # ones and we want to deal with it in a single place.
  define LIBGLIB2_REMOVE_TARGET_SCHEMAS
  	rm -f $(TARGET_DIR)/usr/share/glib-2.0/schemas/*.xml \
  		$(TARGET_DIR)/usr/share/glib-2.0/schemas/*.dtd
  endef
  
  # Compile schemas at target finalization since other packages install
  # them as well, and better do it in a central place.
  # It's used at run time so it doesn't matter defering it.
  define LIBGLIB2_COMPILE_SCHEMAS
  	$(HOST_DIR)/usr/bin/glib-compile-schemas \
  		$(STAGING_DIR)/usr/share/glib-2.0/schemas \
  		--targetdir=$(TARGET_DIR)/usr/share/glib-2.0/schemas
  endef
  
  LIBGLIB2_TARGET_FINALIZE_HOOKS += LIBGLIB2_REMOVE_TARGET_SCHEMAS
  LIBGLIB2_TARGET_FINALIZE_HOOKS += LIBGLIB2_COMPILE_SCHEMAS
  
  $(eval $(autotools-package))
  $(eval $(host-autotools-package))
  
  LIBGLIB2_HOST_BINARY = $(HOST_DIR)/usr/bin/glib-genmarshal