[packages/double-conversion] install shared lib
glen
glen at pld-linux.org
Sat Oct 5 23:39:40 CEST 2013
commit a6527f0cb5eeb561a91432164f53a63e3524bf1c
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Sun Oct 6 00:39:29 2013 +0300
install shared lib
SConstruct | 28 +++++++++++++++++++++++++---
double-conversion.spec | 22 +++++++++++++++++++---
2 files changed, 44 insertions(+), 6 deletions(-)
---
diff --git a/double-conversion.spec b/double-conversion.spec
index 8646d97..4e526db 100644
--- a/double-conversion.spec
+++ b/double-conversion.spec
@@ -1,3 +1,10 @@
+#
+# TODO
+# - versioning in shared lib
+
+# Conditional build:
+%bcond_without static_libs # don't build static libraries
+
Summary: Library providing binary-decimal and decimal-binary routines for IEEE doubles
Name: double-conversion
Version: 1.1.1
@@ -38,7 +45,6 @@ cp -p %{SOURCE1} SConstruct
%build
%scons \
- optimize=1 \
CXX="%{__cxx}"
CXXFLAGS="%{__cxx}"
@@ -46,7 +52,8 @@ cp -p %{SOURCE1} SConstruct
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/%{name}}
-cp -p libdouble_conversion.a libdouble_conversion_pic.a $RPM_BUILD_ROOT%{_libdir}
+%scons install \
+ DESTDIR=$RPM_BUILD_ROOT \
cp -p src/double-conversion.h $RPM_BUILD_ROOT%{_includedir}/%{name}
cp -p src/bignum.h $RPM_BUILD_ROOT%{_includedir}/%{name}
@@ -62,12 +69,21 @@ cp -p src/utils.h $RPM_BUILD_ROOT%{_includedir}/%{name}
%clean
%{__rm} -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc LICENSE README AUTHORS
+%{_libdir}/libdouble_conversion.so
%files devel
%defattr(644,root,root,755)
+%{_includedir}/%{name}
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
%{_libdir}/libdouble_conversion.a
%{_libdir}/libdouble_conversion_pic.a
-%{_includedir}/%{name}
+%endif
diff --git a/SConstruct b/SConstruct
index beecee9..00fe949 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,23 +1,45 @@
+import os
+
double_conversion_sources = ['src/' + x for x in SConscript('src/SConscript')]
double_conversion_test_sources = ['test/cctest/' + x for x in SConscript('test/cctest/SConscript')]
test = double_conversion_sources + double_conversion_test_sources
print(test)
+
+DESTDIR = ARGUMENTS.get('DESTDIR', '')
+prefix = ARGUMENTS.get('prefix', '/usr/local')
+lib = ARGUMENTS.get('libsuffix', 'lib')
+libdir = os.path.join(DESTDIR + prefix, lib)
+
env = Environment(CPPPATH='#/src')
debug = ARGUMENTS.get('debug', 0)
optimize = ARGUMENTS.get('optimize', 0)
env.Replace(CXX = ARGUMENTS.get('CXX', 'g++'))
+CCFLAGS = ['-fPIC']
if int(debug):
- env.Append(CCFLAGS = '-g -Wall -Werror')
+ CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-g -Wall -Werror'))
if int(optimize):
- env.Append(CCFLAGS = ARGUMENTS.get('CXXFLAGS', '-O3'))
+ CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-O3'))
+
+env.Append(CCFLAGS = " ".join(CCFLAGS))
+
print double_conversion_sources
print double_conversion_test_sources
double_conversion_shared_objects = [
env.SharedObject(src) for src in double_conversion_sources]
double_conversion_static_objects = [
env.StaticObject(src) for src in double_conversion_sources]
+
library_name = 'double_conversion'
+
static_lib = env.StaticLibrary(library_name, double_conversion_static_objects)
-env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects)
+static_lib_pic = env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects)
+shared_lib = env.SharedLibrary(library_name, double_conversion_sources)
+
env.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib])
+
+env.Install(libdir, shared_lib)
+env.Install(libdir, static_lib)
+env.Install(libdir, static_lib_pic)
+
+env.Alias('install', libdir)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/double-conversion.git/commitdiff/a6527f0cb5eeb561a91432164f53a63e3524bf1c
More information about the pld-cvs-commit
mailing list