libchrome: drop old version

This commit is contained in:
Michael Marineau 2014-06-27 14:34:04 -07:00
parent a142a10b3c
commit 65ff17d471
5 changed files with 0 additions and 508 deletions

View File

@ -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@ ) )')])

View File

@ -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"

View File

@ -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"

View File

@ -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_

View File

@ -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
}