[oe-commits] org.oe.dev site infrastructure changes: Allow more than one file per target so common files can be created. Add a new class to handle this. Based on the work of Jamie Lenehan, with changes from me. This commit creates a common x86 file and the arm configs are merged but much work still remains.

rpurdie commit openembedded-commits at lists.openembedded.org
Tue Nov 14 22:34:46 UTC 2006


site infrastructure changes: Allow more than one file per target so common files can be created. Add a new class to handle this. Based on the work of Jamie Lenehan, with changes from me. This commit creates a common x86 file and the arm configs are merged but much work still remains.

Author: rpurdie at openembedded.org
Branch: org.openembedded.dev
Revision: 376cbb96ee80de7e5cc9e7ceff199d6f09fe42d8
ViewMTN: http://monotone.openembedded.org/revision.psp?id=376cbb96ee80de7e5cc9e7ceff199d6f09fe42d8
Files:
1
site/arm-linux-gnueabi
site/arm-linux-uclibcgnueabi
site/i386-linux
site/i386-linux-uclibc
site/i486-linux
site/i586-linux
site/i686-linux
site/i686-linux-uclibc
classes/siteinfo.bbclass
site/endian-big
site/endian-little
site/ix86-common
classes/base.bbclass
conf/bitbake.conf
site/arm-linux
site/arm-linux-uclibc
site/armeb-linux
site/armeb-linux-uclibc
site/mipsel-linux
site/mipsel-linux-uclibc
site/powerpc-linux
site/sh3-linux
site/sh4-linux
site/sh4-linux-uclibc
site/sparc-linux
site/x86_64-linux
site/x86_64-linux-uclibc
Diffs:

#
# mt diff -r35628b6bd9343f9edffebb869b6ebd3dde83108e -r376cbb96ee80de7e5cc9e7ceff199d6f09fe42d8
#
# 
# 
# delete "site/arm-linux-gnueabi"
# 
# delete "site/arm-linux-uclibcgnueabi"
# 
# delete "site/i386-linux"
# 
# delete "site/i386-linux-uclibc"
# 
# delete "site/i486-linux"
# 
# delete "site/i586-linux"
# 
# delete "site/i686-linux"
# 
# delete "site/i686-linux-uclibc"
# 
# add_file "classes/siteinfo.bbclass"
#  content [4e958480683dbcad28d05fb631ddf47bd7e61519]
# 
# add_file "site/endian-big"
#  content [07b1826260bf3e253e8aff871ee3f2c13675cec0]
# 
# add_file "site/endian-little"
#  content [152fed99c46f47be4ae45f0ce1bc23df0b4112db]
# 
# add_file "site/ix86-common"
#  content [9b2ca87b8a84c74566558546cf200d2c72a5c73f]
# 
# patch "classes/base.bbclass"
#  from [7add814371cb35cc2d894451f598ae7a5f221b98]
#    to [809c9c17426af62783c7e8df13cb10f56b5d3307]
# 
# patch "conf/bitbake.conf"
#  from [9fb1d4861ac13c26a823cd78f112ae38cbac24f0]
#    to [eb29b94151c567ed6d7a2cc7842686a5cffdbc90]
# 
# patch "site/arm-linux"
#  from [e22f601cfaba00335e79494e5155cc0b0972a759]
#    to [c8af725b1514eeff1b265bd50e5b0d0b8ec365d0]
# 
# patch "site/arm-linux-uclibc"
#  from [2b16ba526de785edaeb4f68ae5b49bd6243e0735]
#    to [944d2d87f1434d31b692b14e93b507bd4cfb3992]
# 
# patch "site/armeb-linux"
#  from [d85f3e4ec8048da49081dc334854027cf268626b]
#    to [6ea3ea2b9a34a185ffffa2f18302449ca6aa7ba4]
# 
# patch "site/armeb-linux-uclibc"
#  from [a692519adb72def31545d12b5552a97557a64df7]
#    to [758959a63e364ffef8f15f939be2bc001010d260]
# 
# patch "site/mipsel-linux"
#  from [0d5cd403067e83a5a4da99cde05162b388a3a158]
#    to [f6720287fce0a6cbb08daf10081d3bb5265de365]
# 
# patch "site/mipsel-linux-uclibc"
#  from [01326aa66fbe714c7dda3b2fae4ad16400061148]
#    to [3bcf7cc9ddb68d295d1a9d1597c223e55fb450f1]
# 
# patch "site/powerpc-linux"
#  from [ba75ef3e5421d0fd820983aa2856aac7251e5b76]
#    to [ce087221d6725b0bc85e25858cd9649d46957c6e]
# 
# patch "site/sh3-linux"
#  from [5a4084e7fe49698d390efd392b3f6f815e3d9431]
#    to [fcfab04776e3dfd1917a06a9ae6cf524131b8259]
# 
# patch "site/sh4-linux"
#  from [fa008d15a06f01105da17300adad10f18bdb4366]
#    to [7115d384998e4ebf2ecf4b6e10628bc1084a6c7b]
# 
# patch "site/sh4-linux-uclibc"
#  from [28683add81319add603e44eab190e3aceb153b76]
#    to [ce6e12e3d419a02f6021ad1f052b270f0d2f3347]
# 
# patch "site/sparc-linux"
#  from [90a6f1de2143a68feb97fea64d76df6482dae5a1]
#    to [d7ff1519dee78d25dcc60517385839e0374e0ee1]
# 
# patch "site/x86_64-linux"
#  from [f38533afff475f57e02c4a491fc5ba5ccda5655a]
#    to [8e497dad8cb8cdac74d911e64fedde5fb626fa0e]
# 
# patch "site/x86_64-linux-uclibc"
#  from [af6bdd21712d49507ee6467d7747ea765793b4f9]
#    to [693095b642333094bcefaa23acaf310eb780a670]
# 
============================================================
--- classes/siteinfo.bbclass	4e958480683dbcad28d05fb631ddf47bd7e61519
+++ classes/siteinfo.bbclass	4e958480683dbcad28d05fb631ddf47bd7e61519
@@ -0,0 +1,126 @@
+# This class exists to provide information about the targets that
+# may be needed by other classes and/or recipes. If you add a new
+# target this will probably need to be updated.
+
+#
+# Returns information about 'what' for the named target 'target'
+# where 'target' == "<arch>-<os>"
+#
+# 'what' can be one of
+# * target: Returns the target name ("<arch>-<os>")
+# * endianess: Return "be" for big endian targets, "le" for little endian
+# * bits: Returns the bit size of the target, either "32" or "64"
+# * libc: Returns the name of the c library used by the target
+#
+# It is an error for the target not to exist.
+# If 'what' doesn't exist then an empty value is returned
+#
+def get_siteinfo_list(d):
+       import bb
+
+       target = bb.data.getVar('HOST_ARCH', d, 1) + "-" + bb.data.getVar('HOST_OS', d, 1)
+
+       targetinfo = {\
+               "armeb-linux":             "endian-big bit-32 common-glibc arm-common",\
+               "armeb-linux-uclibc":      "endian-big bit-32 common-uclibc arm-common",\
+               "arm-linux":               "endian-little bit-32 common-glibc arm-common",\
+               "arm-linux-gnueabi":       "endian-little bit-32 common-glibc arm-common arm-linux",\
+               "arm-linux-uclibc":        "endian-little bit-32 common-uclibc arm-common",\
+               "arm-linux-uclibcgnueabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\
+               "i386-linux":              "endian-little bit-32 common-glibc ix86-common",\
+               "i486-linux":              "endian-little bit-32 common-glibc ix86-common",\
+               "i586-linux":              "endian-little bit-32 common-glibc ix86-common",\
+               "i686-linux":              "endian-little bit-32 common-glibc ix86-common",\
+               "i386-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
+               "i486-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
+               "i586-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
+               "i686-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
+               "mipsel-linux":            "endian-little bit-32 common-glibc",\
+               "mipsel-linux-uclibc":     "endian-little bit-32 common-uclibc",\
+               "powerpc-darwin":          "endian-big bit-32 common-darwin",\
+               "powerpc-linux":           "endian-big bit-32 common-glibc",\
+               "powerpc-linux-uclibc":    "endian-big bit-32 common-uclibc",\
+               "sh3-linux":               "endian-little bit-32 common-glibc sh-common",\
+               "sh4-linux":               "endian-little bit-32 common-glibc sh-common",\
+               "sh4-linux-uclibc":        "endian-little bit-32 common-uclibc sh-common",\
+               "sparc-linux":             "endian-big bit-32 common-glibc",\
+               "x86_64-linux":            "endian-little bit-64 common-glibc",\
+               "x86_64-linux-uclibc":     "endian-little bit-64 common-uclibc"}
+       if target in targetinfo:
+               info = targetinfo[target].split()
+               info.append(target)
+               return info
+       else:
+               bb.error("Information not available for target '%s'" % target)
+
+
+#
+# Define which site files to use. We check for several site files and
+# use each one that is found, based on the list returned by get_siteinfo_list()
+#
+# Search for the files in the following directories:
+# 1) ${BBPATH}/site (in reverse) - app specific, then site wide
+# 2) ${FILE_DIRNAME}/site-${PV}         - app version specific
+#
+def siteinfo_get_files(d):
+       import bb, os
+
+       sitefiles = ""
+
+       # Determine which site files to look for
+       sites = get_siteinfo_list(d)
+       sites.append("common");
+
+       # Check along bbpath for site files and append in reverse order so
+       # the application specific sites files are last and system site
+       # files first.
+       path_bb = bb.data.getVar('BBPATH', d, 1)
+       for p in (path_bb or "").split(':'):
+               tmp = ""
+               for i in sites:
+                       fname = os.path.join(p, 'site', i)
+                       if os.path.exists(fname):
+                               tmp += fname + " "
+               sitefiles = tmp + sitefiles;
+
+       # Now check for the applications version specific site files
+       path_pkgv = os.path.join(bb.data.getVar('FILE_DIRNAME', d, 1), "site-" + bb.data.getVar('PV', d, 1))
+       for i in sites:
+               fname = os.path.join(path_pkgv, i)
+               if os.path.exists(fname):
+                       sitefiles += fname + " "
+
+       bb.note("SITE files " + sitefiles);
+       return sitefiles
+
+#
+# Export CONFIG_SITE to the enviroment. The autotools will make use
+# of this to determine where to load in variables from. This is a
+# space seperate list of shell scripts processed in the order listed.
+#
+export CONFIG_SITE = "${@siteinfo_get_files(d)}"
+
+
+def siteinfo_get_endianess(d):
+       info = get_siteinfo_list(d)
+       if 'endian-little' in info:
+              return "le"
+       elif 'endian-big' in info:
+              return "be"
+       bb.error("Site info could not determine endianess for target")
+
+def siteinfo_get_bits(d):
+       info = get_siteinfo_list(d)
+       if 'bit-32' in info:
+              return "32"
+       elif 'bit-64' in info:
+              return "64"
+       bb.error("Site info could not determine bit size for target")
+
+#
+# Make some information available via variables
+#
+SITEINFO_ENDIANESS  = "${@siteinfo_get_endianess(d)}"
+SITEINFO_BITS       = "${@siteinfo_get_bits(d)}"
+
+
============================================================
--- site/endian-big	07b1826260bf3e253e8aff871ee3f2c13675cec0
+++ site/endian-big	07b1826260bf3e253e8aff871ee3f2c13675cec0
@@ -0,0 +1,2 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
============================================================
--- site/endian-little	152fed99c46f47be4ae45f0ce1bc23df0b4112db
+++ site/endian-little	152fed99c46f47be4ae45f0ce1bc23df0b4112db
@@ -0,0 +1,2 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
============================================================
--- site/ix86-common	9b2ca87b8a84c74566558546cf200d2c72a5c73f
+++ site/ix86-common	9b2ca87b8a84c74566558546cf200d2c72a5c73f
@@ -0,0 +1,243 @@
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
+
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+
+ac_cv_path_ESD_CONFIG=no
+lf_cv_sane_realloc=yes
+jm_cv_func_gettimeofday_clobber=no
+samba_cv_HAVE_GETTIMEOFDAY_TZ=yes
+bf_lsbf=1
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+# audacity
+ac_cv_file_lib_src_libmad_frame_h=${ac_cv_file_lib_src_libmad_frame_h=no}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# clamav
+clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes}
+clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes}
+clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes}
+ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# db
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# glib
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=yes}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# guile
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+# intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# jikes-native
+ac_cv_sizeof_wchar_t=4
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# libnet 
+ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no}
+ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# p3scan
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list