From 6f11a02d9ee76e6fa94e78bb88926bc8ce031517 Mon Sep 17 00:00:00 2001 From: David Hotham Date: Sun, 14 Dec 2014 14:27:03 +0000 Subject: [PATCH 1/2] Clean compile 32-bit builds --- cpp/test/phonenumbers/geocoding/area_code_map_test.cc | 8 ++++---- .../geocoding/phonenumber_offline_geocoder_test.cc | 8 ++++---- cpp/test/phonenumbers/phonenumberutil_test.cc | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cpp/test/phonenumbers/geocoding/area_code_map_test.cc b/cpp/test/phonenumbers/geocoding/area_code_map_test.cc index 786c638a8..97369a6b1 100644 --- a/cpp/test/phonenumbers/geocoding/area_code_map_test.cc +++ b/cpp/test/phonenumbers/geocoding/area_code_map_test.cc @@ -155,20 +155,20 @@ TEST_F(AreaCodeMapTest, TestLookupNumberNY) { TEST_F(AreaCodeMapTest, TestLookupNumberCA1) { EXPECT_STREQ("San Mateo, CA", - map_US_->Lookup(MakePhoneNumber(1, 6503451234L))); + map_US_->Lookup(MakePhoneNumber(1, 6503451234LL))); } TEST_F(AreaCodeMapTest, TestLookupNumberCA2) { - EXPECT_STREQ("California", map_US_->Lookup(MakePhoneNumber(1, 6502531234L))); + EXPECT_STREQ("California", map_US_->Lookup(MakePhoneNumber(1, 6502531234LL))); } TEST_F(AreaCodeMapTest, TestLookupNumberTX) { EXPECT_STREQ("Richardson, TX", - map_US_->Lookup(MakePhoneNumber(1, 9724801234L))); + map_US_->Lookup(MakePhoneNumber(1, 9724801234LL))); } TEST_F(AreaCodeMapTest, TestLookupNumberNotFoundTX) { - EXPECT_STREQ(NULL, map_US_->Lookup(MakePhoneNumber(1, 9724811234L))); + EXPECT_STREQ(NULL, map_US_->Lookup(MakePhoneNumber(1, 9724811234LL))); } TEST_F(AreaCodeMapTest, TestLookupNumberCH) { diff --git a/cpp/test/phonenumbers/geocoding/phonenumber_offline_geocoder_test.cc b/cpp/test/phonenumbers/geocoding/phonenumber_offline_geocoder_test.cc index c2e1295a9..3931e4012 100644 --- a/cpp/test/phonenumbers/geocoding/phonenumber_offline_geocoder_test.cc +++ b/cpp/test/phonenumbers/geocoding/phonenumber_offline_geocoder_test.cc @@ -51,12 +51,12 @@ class PhoneNumberOfflineGeocoderTest : public testing::Test { PhoneNumberOfflineGeocoderTest() : KO_NUMBER1(MakeNumber(82, 22123456UL)), KO_NUMBER2(MakeNumber(82, 322123456UL)), - KO_NUMBER3(MakeNumber(82, 6421234567UL)), + KO_NUMBER3(MakeNumber(82, 6421234567ULL)), KO_INVALID_NUMBER(MakeNumber(82, 1234UL)), - US_NUMBER1(MakeNumber(1, 6502530000UL)), - US_NUMBER2(MakeNumber(1, 6509600000UL)), + US_NUMBER1(MakeNumber(1, 6502530000ULL)), + US_NUMBER2(MakeNumber(1, 6509600000ULL)), US_NUMBER3(MakeNumber(1, 2128120000UL)), - US_NUMBER4(MakeNumber(1, 6174240000UL)), + US_NUMBER4(MakeNumber(1, 6174240000ULL)), US_INVALID_NUMBER(MakeNumber(1, 123456789UL)), BS_NUMBER1(MakeNumber(1, 2423651234UL)), AU_NUMBER(MakeNumber(61, 236618300UL)), diff --git a/cpp/test/phonenumbers/phonenumberutil_test.cc b/cpp/test/phonenumbers/phonenumberutil_test.cc index b8e367bdd..13e97dfc6 100644 --- a/cpp/test/phonenumbers/phonenumberutil_test.cc +++ b/cpp/test/phonenumbers/phonenumberutil_test.cc @@ -1124,7 +1124,7 @@ TEST_F(PhoneNumberUtilTest, FormatNumberForMobileDialing) { // numbers are always output in international format, but short numbers are // in national format. test_number.set_country_code(1); - test_number.set_national_number(6502530000L); + test_number.set_national_number(6502530000LL); phone_util_.FormatNumberForMobileDialing( test_number, RegionCode::US(), false, &formatted_number); EXPECT_EQ("+16502530000", formatted_number); From df876cedb52454f6212f39513c4d5fe7eacdf71e Mon Sep 17 00:00:00 2001 From: David Hotham Date: Sun, 14 Dec 2014 14:27:12 +0000 Subject: [PATCH 2/2] RPM packaging --- cpp/CMakeLists.txt | 68 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 14 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index f9f913475..c47b9ea74 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -19,6 +19,15 @@ cmake_minimum_required (VERSION 2.8) project (libphonenumber) set (libphonenumber_VERSION_MAJOR 7) set (libphonenumber_VERSION_MINOR 0) +set (libphonenumber_VERSION_PATCH 2) + +if (32BIT) + set_property (GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32") +endif () # Helper functions dealing with finding libraries and programs this library # depends on. @@ -76,6 +85,7 @@ option ("USE_ICU_REGEXP" "Use ICU regexp engine" "ON") option ("USE_LITE_METADATA" "Use lite metadata" "OFF") option ("USE_RE2" "Use RE2" "OFF") option ("USE_STD_MAP" "Force the use of std::map" "OFF") +option ("BUILD_STATIC_LIB" "Build static libraries" "ON") if (${USE_ALTERNATE_FORMATS} STREQUAL "ON") add_definitions ("-DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS") @@ -336,16 +346,20 @@ endif () include_directories ("src") -# Build a static library (without -fPIC). -add_library (phonenumber STATIC ${SOURCES}) -if (${USE_ICU_REGEXP} STREQUAL "ON") - if (${USE_ALTERNATE_FORMATS} STREQUAL "ON") - add_dependencies (phonenumber ${ALT_FORMAT_METADATA_TARGET}) +if ($BUILD_STATIC_LIB STREQUAL "ON") + # Build a static library (without -fPIC). + add_library (phonenumber STATIC ${SOURCES}) + if (${USE_ICU_REGEXP} STREQUAL "ON") + if (${USE_ALTERNATE_FORMATS} STREQUAL "ON") + add_dependencies (phonenumber ${ALT_FORMAT_METADATA_TARGET}) + endif () endif () endif () if (${BUILD_GEOCODER} STREQUAL "ON") - add_library (geocoding STATIC ${GEOCODING_SOURCES}) + if ($BUILD_STATIC_LIB STREQUAL "ON") + add_library (geocoding STATIC ${GEOCODING_SOURCES}) + endif () # The geocoder doesn't use RE2 so there is no reason not to build a shared # library for it. add_library (geocoding-shared SHARED ${GEOCODING_SOURCES}) @@ -374,7 +388,7 @@ if (BUILD_SHARED_LIB) add_library (phonenumber-shared SHARED ${SOURCES}) if (${USE_ICU_REGEXP} STREQUAL "ON") if (${USE_ALTERNATE_FORMATS} STREQUAL "ON") - add_dependencies (phonenumber ${ALT_FORMAT_METADATA_TARGET}) + add_dependencies (phonenumber-shared ${ALT_FORMAT_METADATA_TARGET}) endif () endif () set_target_properties (phonenumber-shared @@ -404,7 +418,9 @@ endif () list (APPEND LIBRARY_DEPS ${COMMON_DEPS}) -target_link_libraries (phonenumber ${LIBRARY_DEPS}) +if (${BUILD_STATIC_LIB} STREQUAL "ON") + target_link_libraries (phonenumber ${LIBRARY_DEPS}) +endif () if (BUILD_SHARED_LIB) target_link_libraries (phonenumber-shared ${LIBRARY_DEPS}) @@ -549,17 +565,27 @@ install (FILES install (FILES "src/phonenumbers/base/synchronization/lock.h" DESTINATION include/phonenumbers/base/synchronization/) -install (TARGETS phonenumber LIBRARY DESTINATION lib/ ARCHIVE DESTINATION lib/) +get_property (LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) + +if ("${LIB64}" STREQUAL "TRUE") + set (LIBDIR lib64) +else () + set (LIBDIR lib) +endif () + +if (${BUILD_STATIC_LIB} STREQUAL "ON") + install (TARGETS phonenumber LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR}) +endif () if (BUILD_SHARED_LIB) - install (TARGETS phonenumber-shared LIBRARY DESTINATION lib/ ARCHIVE - DESTINATION lib/) + install (TARGETS phonenumber-shared LIBRARY DESTINATION ${LIBDIR} ARCHIVE + DESTINATION ${LIBDIR}) endif () if (${BUILD_GEOCODER} STREQUAL "ON") - install (TARGETS geocoding LIBRARY DESTINATION lib/ ARCHIVE DESTINATION lib/) - install (TARGETS geocoding-shared LIBRARY DESTINATION lib/ ARCHIVE - DESTINATION lib/) + install (TARGETS geocoding LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR}) + install (TARGETS geocoding-shared LIBRARY DESTINATION ${LIBDIR} ARCHIVE + DESTINATION ${LIBDIR}) endif () # Build an example program using geocoding, mainly to make sure that both @@ -571,3 +597,17 @@ if (${BUILD_GEOCODER} STREQUAL "ON") ) target_link_libraries (geocoding_test_program geocoding phonenumber) endif () + +# Build an RPM +set (CPACK_PACKAGE_VERSION ${libphonenumber_VERSION_MAJOR}.${libphonenumber_VERSION_MINOR}.${libphonenumber_VERSION_PATCH}) +set (CPACK_GENERATOR "RPM") +set (CPACK_PACKAGE_NAME "libphonenumber") +set (CPACK_RPM_PACKAGE_RELEASE 1) +set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Google's phone number handling library") +if (32BIT) + set (CPACK_RPM_PACKAGE_ARCHITECTURE i686) +else () + set (CPACK_RPM_PACKAGE_ARCHITECTURE x86_64) +endif () +set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +include (CPack)