mirror of
https://github.com/flatcar/scripts.git
synced 2025-12-08 02:41:55 +01:00
libchrome: drop old version
This commit is contained in:
parent
a142a10b3c
commit
65ff17d471
@ -1,225 +0,0 @@
|
||||
# -*- python -*-
|
||||
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import os
|
||||
|
||||
# This block will most likely need updating whenever libchrome gets updated.
|
||||
# The order of the libs below doesn't matter (as scons will take care of
|
||||
# building things in the required order). The split between them is purely
|
||||
# to reduce over linking of 3rd party libraries. i.e. 'core' should require
|
||||
# only the C library (and glib), and all other 3rd party libraries should
|
||||
# get a unique 'xxx' name.
|
||||
base_name = 'base'
|
||||
base_libs = [
|
||||
{
|
||||
'name' : 'core',
|
||||
'sources' : """
|
||||
at_exit.cc
|
||||
atomicops_internals_x86_gcc.cc
|
||||
base_switches.cc
|
||||
callback_internal.cc
|
||||
command_line.cc
|
||||
debug/alias.cc
|
||||
debug/debugger.cc
|
||||
debug/debugger_posix.cc
|
||||
debug/stack_trace.cc
|
||||
debug/stack_trace_posix.cc
|
||||
environment.cc
|
||||
file_descriptor_shuffle.cc
|
||||
file_path.cc
|
||||
json/json_reader.cc
|
||||
json/json_writer.cc
|
||||
json/string_escape.cc
|
||||
lazy_instance.cc
|
||||
location.cc
|
||||
logging.cc
|
||||
memory/ref_counted.cc
|
||||
memory/ref_counted_memory.cc
|
||||
memory/singleton.cc
|
||||
memory/weak_ptr.cc
|
||||
message_pump.cc
|
||||
message_pump_default.cc
|
||||
metrics/histogram.cc
|
||||
pickle.cc
|
||||
platform_file.cc
|
||||
platform_file_posix.cc
|
||||
profiler/alternate_timer.cc
|
||||
profiler/tracked_time.cc
|
||||
safe_strerror_posix.cc
|
||||
string16.cc
|
||||
string_number_conversions.cc
|
||||
string_piece.cc
|
||||
stringprintf.cc
|
||||
string_split.cc
|
||||
string_util.cc
|
||||
synchronization/condition_variable_posix.cc
|
||||
synchronization/lock.cc
|
||||
synchronization/lock_impl_posix.cc
|
||||
synchronization/waitable_event_posix.cc
|
||||
sys_info_posix.cc
|
||||
sys_string_conversions_posix.cc
|
||||
third_party/dmg_fp/dtoa.cc
|
||||
third_party/dmg_fp/g_fmt.cc
|
||||
third_party/dynamic_annotations/dynamic_annotations.c
|
||||
third_party/icu/icu_utf.cc
|
||||
third_party/nspr/prtime.cc
|
||||
threading/non_thread_safe_impl.cc
|
||||
threading/platform_thread_posix.cc
|
||||
threading/thread_checker_impl.cc
|
||||
threading/thread_collision_warner.cc
|
||||
threading/thread_local_posix.cc
|
||||
threading/thread_local_storage_posix.cc
|
||||
threading/thread_restrictions.cc
|
||||
time.cc
|
||||
time_posix.cc
|
||||
tracked_objects.cc
|
||||
utf_string_conversions.cc
|
||||
utf_string_conversion_utils.cc
|
||||
values.cc
|
||||
vlog.cc
|
||||
""",
|
||||
'libs' : 'pthread rt',
|
||||
'pc_libs' : '',
|
||||
},
|
||||
{
|
||||
'name' : 'glib',
|
||||
'sources' : """
|
||||
debug/trace_event.cc
|
||||
debug/trace_event_impl.cc
|
||||
file_util.cc
|
||||
file_util_posix.cc
|
||||
message_pump_glib.cc
|
||||
process_posix.cc
|
||||
process_util.cc
|
||||
process_util_linux.cc
|
||||
process_util_posix.cc
|
||||
rand_util.cc
|
||||
rand_util_posix.cc
|
||||
scoped_temp_dir.cc
|
||||
""",
|
||||
'libs' : '',
|
||||
'pc_libs' : 'glib-2.0',
|
||||
},
|
||||
{
|
||||
'name' : 'event',
|
||||
'sources' : """
|
||||
message_loop.cc
|
||||
message_loop_proxy.cc
|
||||
message_loop_proxy_impl.cc
|
||||
message_pump_libevent.cc
|
||||
pending_task.cc
|
||||
task_runner.cc
|
||||
threading/post_task_and_reply_impl.cc
|
||||
threading/thread.cc
|
||||
tracking_info.cc
|
||||
""",
|
||||
'libs' : 'event base-glib-${bslot}',
|
||||
'pc_libs' : 'glib-2.0',
|
||||
},
|
||||
{
|
||||
'name' : 'dl',
|
||||
'sources' : """
|
||||
native_library_posix.cc
|
||||
""",
|
||||
'libs' : 'dl',
|
||||
'pc_libs' : '',
|
||||
},
|
||||
]
|
||||
|
||||
env = Environment()
|
||||
|
||||
BASE_VER = os.environ.get('BASE_VER', '0')
|
||||
PKG_CONFIG = os.environ.get('PKG_CONFIG', 'pkg-config')
|
||||
|
||||
env.Append(
|
||||
CPPPATH=['files'],
|
||||
CCFLAGS=['-g']
|
||||
)
|
||||
for key in Split('CC CXX AR RANLIB LD NM CFLAGS CCFLAGS'):
|
||||
value = os.environ.get(key)
|
||||
if value:
|
||||
env[key] = Split(value)
|
||||
|
||||
env['CCFLAGS'] += ['-fPIC',
|
||||
'-fno-exceptions',
|
||||
'-Wall',
|
||||
'-Werror',
|
||||
'-DOS_CHROMEOS=1',
|
||||
'-DTOOLKIT_VIEWS=1',
|
||||
'-DUSE_AURA=1',
|
||||
'-DUSE_SYSTEM_LIBEVENT=1',
|
||||
'-I..']
|
||||
|
||||
# Fix issue with scons not passing some vars through the environment.
|
||||
for key in Split('PKG_CONFIG SYSROOT'):
|
||||
if os.environ.has_key(key):
|
||||
env['ENV'][key] = os.environ[key]
|
||||
|
||||
all_base_libs = []
|
||||
all_pc_libs = ''
|
||||
all_libs = []
|
||||
all_scons_libs = []
|
||||
|
||||
# Build all the shared libraries.
|
||||
for lib in base_libs:
|
||||
pc_libs = lib['pc_libs'].replace('${bslot}', BASE_VER)
|
||||
all_pc_libs += ' ' + pc_libs
|
||||
|
||||
libs = Split(lib['libs'].replace('${bslot}', BASE_VER))
|
||||
all_libs += libs
|
||||
|
||||
name = '%s-%s-%s' % (base_name, lib['name'], BASE_VER)
|
||||
all_base_libs += [name]
|
||||
corename = '%s-core-%s' % (base_name, BASE_VER)
|
||||
# Automatically link the sub-libs against the main core lib.
|
||||
# This is to keep from having to explicitly mention it in the
|
||||
# table above (i.e. lazy).
|
||||
if name != corename:
|
||||
libs += [corename]
|
||||
|
||||
e = env.Clone()
|
||||
e.Append(
|
||||
LIBS = Split(libs),
|
||||
LIBPATH = ['.'],
|
||||
LINKFLAGS = ['-Wl,--as-needed', '-Wl,-z,defs',
|
||||
'-Wl,-soname,lib%s.so' % name],
|
||||
)
|
||||
if pc_libs:
|
||||
e.ParseConfig(PKG_CONFIG + ' --cflags --libs %s' % pc_libs)
|
||||
all_scons_libs += [ e.SharedLibrary(name, Split(lib['sources'])) ]
|
||||
|
||||
|
||||
# Build the random text files (pkg-config and linker script).
|
||||
|
||||
def lib_list(libs):
|
||||
return ' '.join(['-l' + l for l in libs])
|
||||
|
||||
subst_dict = {
|
||||
'@BSLOT@' : BASE_VER,
|
||||
'@PRIVATE_PC@' : all_pc_libs,
|
||||
'@BASE_LIBS@' : lib_list(all_base_libs),
|
||||
'@LIBS@' : lib_list(all_libs),
|
||||
}
|
||||
env = Environment(tools = ['textfile'], SUBST_DICT = subst_dict)
|
||||
|
||||
env.Substfile('libchrome-%s.pc' % BASE_VER,
|
||||
[Value("""
|
||||
prefix=/usr
|
||||
includedir=${prefix}/include
|
||||
bslot=@BSLOT@
|
||||
|
||||
Name: libchrome
|
||||
Description: chrome base library
|
||||
Version: ${bslot}
|
||||
Requires:
|
||||
Requires.private: glib-2.0 @PRIVATE_PC@
|
||||
Libs: -lbase-${bslot}
|
||||
Libs.private: @BASE_LIBS@ @LIBS@
|
||||
Cflags: -I${includedir}/base-${bslot}
|
||||
""")])
|
||||
|
||||
env.Substfile('libbase-%s.so' % BASE_VER,
|
||||
[Value('GROUP ( AS_NEEDED ( @BASE_LIBS@ ) )')])
|
||||
@ -1,21 +0,0 @@
|
||||
--- a/time_posix.cc.orig 2012-05-22 17:04:50.252715756 -0700
|
||||
+++ b/time_posix.cc 2012-05-22 17:04:52.742723993 -0700
|
||||
@@ -34,7 +34,7 @@ struct timespec TimeDelta::ToTimeSpec()
|
||||
}
|
||||
struct timespec result =
|
||||
{seconds,
|
||||
- microseconds * Time::kNanosecondsPerMicrosecond};
|
||||
+ static_cast<long int>(microseconds * Time::kNanosecondsPerMicrosecond)};
|
||||
return result;
|
||||
}
|
||||
|
||||
--- a/message_pump_libevent.cc.orig 2012-05-30 16:51:53.954509506 -0700
|
||||
+++ a/message_pump_libevent.cc 2012-05-30 16:52:04.654541674 -0700
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#include "base/auto_reset.h"
|
||||
#include "base/compiler_specific.h"
|
||||
@ -1,34 +0,0 @@
|
||||
message_loop.h pulls in a lot of other headers (glib/x11/etc...) that these
|
||||
files don't care about, so simplify that
|
||||
|
||||
--- a/synchronization/waitable_event_posix.cc
|
||||
+++ b/synchronization/waitable_event_posix.cc
|
||||
@@ -2,11 +2,14 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <algorithm>
|
||||
+#include <vector>
|
||||
+
|
||||
#include "base/synchronization/waitable_event.h"
|
||||
|
||||
#include "base/synchronization/condition_variable.h"
|
||||
#include "base/synchronization/lock.h"
|
||||
-#include "base/message_loop.h"
|
||||
+#include "base/logging.h"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// A WaitableEvent on POSIX is implemented as a wait-list. Currently we don't
|
||||
--- a/tracked_objects.cc
|
||||
+++ b/tracked_objects.cc
|
||||
@@ -5,9 +5,9 @@
|
||||
#include "base/tracked_objects.h"
|
||||
|
||||
#include <math.h>
|
||||
+#include <stdlib.h>
|
||||
|
||||
#include "base/format_macros.h"
|
||||
-#include "base/message_loop.h"
|
||||
#include "base/profiler/alternate_timer.h"
|
||||
#include "base/stringprintf.h"
|
||||
#include "base/third_party/valgrind/memcheck.h"
|
||||
@ -1,143 +0,0 @@
|
||||
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// This file adds defines about the platform we're currently building on.
|
||||
// Operating System:
|
||||
// OS_WIN / OS_MACOSX / OS_LINUX / OS_POSIX (MACOSX or LINUX)
|
||||
// Compiler:
|
||||
// COMPILER_MSVC / COMPILER_GCC
|
||||
// Processor:
|
||||
// ARCH_CPU_X86 / ARCH_CPU_X86_64 / ARCH_CPU_X86_FAMILY (X86 or X86_64)
|
||||
// ARCH_CPU_32_BITS / ARCH_CPU_64_BITS
|
||||
|
||||
#ifndef BUILD_BUILD_CONFIG_H_
|
||||
#define BUILD_BUILD_CONFIG_H_
|
||||
|
||||
// A set of macros to use for platform detection.
|
||||
#if defined(__APPLE__)
|
||||
#define OS_MACOSX 1
|
||||
#elif defined(ANDROID)
|
||||
#define OS_ANDROID 1
|
||||
#elif defined(__native_client__)
|
||||
#define OS_NACL 1
|
||||
#elif defined(__linux__)
|
||||
#define OS_LINUX 1
|
||||
// Use TOOLKIT_GTK on linux if TOOLKIT_VIEWS isn't defined.
|
||||
#if !defined(TOOLKIT_VIEWS)
|
||||
#define TOOLKIT_GTK
|
||||
#endif
|
||||
#elif defined(_WIN32)
|
||||
#define OS_WIN 1
|
||||
#define TOOLKIT_VIEWS 1
|
||||
#elif defined(__FreeBSD__)
|
||||
#define OS_FREEBSD 1
|
||||
#define TOOLKIT_GTK
|
||||
#elif defined(__OpenBSD__)
|
||||
#define OS_OPENBSD 1
|
||||
#define TOOLKIT_GTK
|
||||
#elif defined(__sun)
|
||||
#define OS_SOLARIS 1
|
||||
#define TOOLKIT_GTK
|
||||
#else
|
||||
#error Please add support for your platform in build/build_config.h
|
||||
#endif
|
||||
|
||||
#if defined(USE_OPENSSL) && defined(USE_NSS)
|
||||
#error Cannot use both OpenSSL and NSS
|
||||
#endif
|
||||
|
||||
// For access to standard BSD features, use OS_BSD instead of a
|
||||
// more specific macro.
|
||||
#if defined(OS_FREEBSD) || defined(OS_OPENBSD)
|
||||
#define OS_BSD 1
|
||||
#endif
|
||||
|
||||
// For access to standard POSIXish features, use OS_POSIX instead of a
|
||||
// more specific macro.
|
||||
#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FREEBSD) || \
|
||||
defined(OS_OPENBSD) || defined(OS_SOLARIS) || defined(OS_ANDROID) || \
|
||||
defined(OS_NACL)
|
||||
#define OS_POSIX 1
|
||||
#endif
|
||||
|
||||
#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && \
|
||||
!defined(OS_NACL)
|
||||
#define USE_X11 1 // Use X for graphics.
|
||||
#endif
|
||||
|
||||
// Use tcmalloc
|
||||
#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(NO_TCMALLOC)
|
||||
#define USE_TCMALLOC 1
|
||||
#endif
|
||||
|
||||
// Compiler detection.
|
||||
#if defined(__GNUC__)
|
||||
#define COMPILER_GCC 1
|
||||
#elif defined(_MSC_VER)
|
||||
#define COMPILER_MSVC 1
|
||||
#else
|
||||
#error Please add support for your compiler in build/build_config.h
|
||||
#endif
|
||||
|
||||
// Processor architecture detection. For more info on what's defined, see:
|
||||
// http://msdn.microsoft.com/en-us/library/b0084kay.aspx
|
||||
// http://www.agner.org/optimize/calling_conventions.pdf
|
||||
// or with gcc, run: "echo | gcc -E -dM -"
|
||||
#if defined(_M_X64) || defined(__x86_64__)
|
||||
#define ARCH_CPU_X86_FAMILY 1
|
||||
#define ARCH_CPU_X86_64 1
|
||||
#define ARCH_CPU_64_BITS 1
|
||||
#define ARCH_CPU_LITTLE_ENDIAN 1
|
||||
#elif defined(_M_IX86) || defined(__i386__)
|
||||
#define ARCH_CPU_X86_FAMILY 1
|
||||
#define ARCH_CPU_X86 1
|
||||
#define ARCH_CPU_32_BITS 1
|
||||
#define ARCH_CPU_LITTLE_ENDIAN 1
|
||||
#elif defined(__ARMEL__)
|
||||
#define ARCH_CPU_ARM_FAMILY 1
|
||||
#define ARCH_CPU_ARMEL 1
|
||||
#define ARCH_CPU_32_BITS 1
|
||||
#define ARCH_CPU_LITTLE_ENDIAN 1
|
||||
#define WCHAR_T_IS_UNSIGNED 1
|
||||
#elif defined(__pnacl__)
|
||||
#define ARCH_CPU_32_BITS 1
|
||||
#else
|
||||
#error Please add support for your architecture in build/build_config.h
|
||||
#endif
|
||||
|
||||
// Type detection for wchar_t.
|
||||
#if defined(OS_WIN)
|
||||
#define WCHAR_T_IS_UTF16
|
||||
#elif defined(OS_POSIX) && defined(COMPILER_GCC) && \
|
||||
defined(__WCHAR_MAX__) && \
|
||||
(__WCHAR_MAX__ == 0x7fffffff || __WCHAR_MAX__ == 0xffffffff)
|
||||
#define WCHAR_T_IS_UTF32
|
||||
#elif defined(OS_POSIX) && defined(COMPILER_GCC) && \
|
||||
defined(__WCHAR_MAX__) && \
|
||||
(__WCHAR_MAX__ == 0x7fff || __WCHAR_MAX__ == 0xffff)
|
||||
// On Posix, we'll detect short wchar_t, but projects aren't guaranteed to
|
||||
// compile in this mode (in particular, Chrome doesn't). This is intended for
|
||||
// other projects using base who manage their own dependencies and make sure
|
||||
// short wchar works for them.
|
||||
#define WCHAR_T_IS_UTF16
|
||||
#else
|
||||
#error Please add support for your compiler in build/build_config.h
|
||||
#endif
|
||||
|
||||
#if defined(OS_CHROMEOS)
|
||||
// Single define to trigger whether CrOS fonts have BCI on.
|
||||
// In that case font sizes/deltas should be adjusted.
|
||||
//define CROS_FONTS_USING_BCI
|
||||
#endif
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
// The compiler thinks std::string::const_iterator and "const char*" are
|
||||
// equivalent types.
|
||||
#define STD_STRING_ITERATOR_IS_CHAR_POINTER
|
||||
// The compiler thinks base::string16::const_iterator and "char16*" are
|
||||
// equivalent types.
|
||||
#define BASE_STRING16_ITERATOR_IS_CHAR16_POINTER
|
||||
#endif
|
||||
|
||||
#endif // BUILD_BUILD_CONFIG_H_
|
||||
@ -1,85 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Note: the ${PV} should represent the overall svn rev number of the
|
||||
# chromium tree that we're extracting from rather than the svn rev of
|
||||
# the last change actually made to the base subdir. This way packages
|
||||
# from other locations (like libchrome_crypto) can be coordinated.
|
||||
|
||||
# XXX: Based on the above logic, this particular version should have
|
||||
# been labeled as rev 125116 since that is what the LKGR we were
|
||||
# using (19.0.1061.0) was pegged to. Oh well, not a biggie;
|
||||
# we'll fix it in the next rev bump.
|
||||
|
||||
EAPI="4"
|
||||
CROS_WORKON_COMMIT="51d55aa18d4b8b3b137c69ea2aa7db1a82d52079"
|
||||
CROS_WORKON_PROJECT="chromium/src/base"
|
||||
CROS_WORKON_GIT_SUFFIX="-${PV}"
|
||||
|
||||
inherit cros-workon cros-debug toolchain-funcs scons-utils
|
||||
|
||||
DESCRIPTION="Chrome base/ library extracted for use on Chrome OS"
|
||||
HOMEPAGE="http://dev.chromium.org/chromium-os/packages/libchrome"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="${PV}"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
IUSE="cros_host"
|
||||
|
||||
RDEPEND="dev-libs/glib
|
||||
dev-libs/libevent
|
||||
dev-libs/nss"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-cpp/gtest
|
||||
cros_host? ( dev-util/scons )"
|
||||
|
||||
src_prepare() {
|
||||
ln -s "${S}" "${WORKDIR}/base" &> /dev/null
|
||||
|
||||
mkdir -p "${WORKDIR}/build"
|
||||
cp -p "${FILESDIR}/build_config.h-${SLOT}" "${WORKDIR}/build/build_config.h" || die
|
||||
|
||||
cp -p "${FILESDIR}/SConstruct-${SLOT}" "${S}/SConstruct" || die
|
||||
epatch "${FILESDIR}"/gtest_include_path_fixup.patch
|
||||
|
||||
epatch "${FILESDIR}"/base-125070-headers.patch
|
||||
epatch "${FILESDIR}"/base-125070-no-X.patch
|
||||
epatch "${FILESDIR}"/base-125070-gcc-4_7.patch
|
||||
epatch "${FILESDIR}"/base-125070-x32.patch
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC CXX AR RANLIB LD NM PKG_CONFIG
|
||||
cros-debug-add-NDEBUG
|
||||
export CCFLAGS="$CFLAGS"
|
||||
|
||||
BASE_VER=${SLOT} escons
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dolib.so libbase*-${SLOT}.so
|
||||
|
||||
local d header_dirs=(
|
||||
third_party/icu
|
||||
third_party/nspr
|
||||
third_party/valgrind
|
||||
third_party/dynamic_annotations
|
||||
.
|
||||
debug
|
||||
json
|
||||
memory
|
||||
synchronization
|
||||
threading
|
||||
)
|
||||
for d in "${header_dirs[@]}" ; do
|
||||
insinto /usr/include/base-${SLOT}/base/${d}
|
||||
doins ${d}/*.h
|
||||
done
|
||||
|
||||
insinto /usr/include/base-${SLOT}/build
|
||||
doins "${WORKDIR}"/build/build_config.h
|
||||
|
||||
insinto /usr/$(get_libdir)/pkgconfig
|
||||
doins libchrome-${SLOT}.pc
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user