]> git.pld-linux.org Git - packages/double-conversion.git/commitdiff
install shared lib
authorElan Ruusamäe <glen@delfi.ee>
Sat, 5 Oct 2013 21:39:29 +0000 (00:39 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Sat, 5 Oct 2013 21:39:29 +0000 (00:39 +0300)
SConstruct
double-conversion.spec

index beecee9ebba1f2489cf0b9dfadabef5282028d3f..00fe9493c1d3fe990926ed0e4d31ccea35a45865 100644 (file)
@@ -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)
index 8646d97f34c1fbe5498568100cf0f7382eb90fec..4e526db48369f3185a71e384ca5b826ccce88e2a 100644 (file)
@@ -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
This page took 0.09074 seconds and 4 git commands to generate.