Skip to content

Commit 189b3a2

Browse files
committed
Merge branch '12-build-replace-legacy-intel-libbid-make-build-with-deterministic-cmake-integration' into staging
2 parents 7285286 + f228ca6 commit 189b3a2

23 files changed

Lines changed: 79 additions & 2325 deletions

thirdparty/intel-decimal-float/CMakeLists.txt

Lines changed: 76 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,89 @@
33
# Copyright © 2025–2026 Varga Labs, Toronto, ON, Canada 🇨🇦
44
# Contact: info@vargalabs.com
55

6-
76
set(name bid)
87
set(libname lib${name}_static)
98

10-
project(${libname} LANGUAGES C CXX)
9+
project(${libname} LANGUAGES C)
1110

12-
set(current_version "v2.2.0")
13-
set(current_version_dir "${CMAKE_CURRENT_SOURCE_DIR}/${current_version}")
14-
set(build_version_dir "${CMAKE_CURRENT_BINARY_DIR}/${current_version}")
15-
set(makefile_output "${build_version_dir}/libbid.a")
16-
set(libbid_include_dir "${build_version_dir}/src")
11+
set(bid_root "${CMAKE_CURRENT_SOURCE_DIR}/v2.2.0")
12+
set(src_dir "${bid_root}/src")
13+
set(f128_dir "${bid_root}/float128")
1714

18-
file(COPY ${current_version_dir} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
15+
file(GLOB bid_core_sources CONFIGURE_DEPENDS
16+
"${src_dir}/*.c"
17+
)
1918

20-
add_custom_command(
21-
OUTPUT ${makefile_output}
22-
COMMAND make -C ${build_version_dir}
23-
CC=${CMAKE_C_COMPILER}
24-
CALL_BY_REF=0
25-
GLOBAL_RND=0
26-
GLOBAL_FLAGS=0
27-
UNCHANGED_BINARY_FLAGS=0
28-
WORKING_DIRECTORY ${build_version_dir}
29-
COMMENT "Building Intel LIBBID static library"
30-
VERBATIM
19+
set(bid_f128_sources
20+
"${f128_dir}/dpml_ux_bid.c"
21+
"${f128_dir}/dpml_ux_bessel.c"
22+
"${f128_dir}/dpml_ux_cbrt.c"
23+
"${f128_dir}/dpml_ux_erf.c"
24+
"${f128_dir}/dpml_ux_exp.c"
25+
"${f128_dir}/dpml_ux_int.c"
26+
"${f128_dir}/dpml_ux_inv_hyper.c"
27+
"${f128_dir}/dpml_ux_inv_trig.c"
28+
"${f128_dir}/dpml_ux_lgamma.c"
29+
"${f128_dir}/dpml_ux_log.c"
30+
"${f128_dir}/dpml_ux_mod.c"
31+
"${f128_dir}/dpml_ux_powi.c"
32+
"${f128_dir}/dpml_ux_pow.c"
33+
"${f128_dir}/dpml_ux_sqrt.c"
34+
"${f128_dir}/dpml_ux_trig.c"
35+
"${f128_dir}/dpml_ux_ops.c"
36+
"${f128_dir}/dpml_ux_ops_64.c"
37+
"${f128_dir}/dpml_four_over_pi.c"
38+
"${f128_dir}/dpml_exception.c"
39+
"${f128_dir}/sqrt_tab_t.c"
3140
)
3241

33-
add_custom_target(${libname}_build ALL DEPENDS ${makefile_output} )
34-
add_library(${libname} INTERFACE)
42+
add_library(libbid_core_obj OBJECT ${bid_core_sources})
43+
target_include_directories(libbid_core_obj PRIVATE
44+
"${src_dir}"
45+
)
46+
target_compile_definitions(libbid_core_obj PRIVATE
47+
USE_COMPILER_F128_TYPE=0
48+
USE_COMPILER_F80_TYPE=0
49+
LINUX
50+
efi2
51+
DECIMAL_CALL_BY_REFERENCE=0
52+
DECIMAL_GLOBAL_ROUNDING=0
53+
DECIMAL_GLOBAL_EXCEPTION_FLAGS=0
54+
)
55+
target_compile_options(libbid_core_obj PRIVATE -w)
56+
set_target_properties(libbid_core_obj PROPERTIES
57+
C_STANDARD 99
58+
C_STANDARD_REQUIRED ON
59+
)
60+
61+
add_library(libbid_f128_obj OBJECT ${bid_f128_sources})
62+
target_include_directories(libbid_f128_obj PRIVATE
63+
"${src_dir}"
64+
"${f128_dir}"
65+
)
66+
target_compile_definitions(libbid_f128_obj PRIVATE
67+
USE_NATIVE_QUAD_TYPE=0
68+
efi2
69+
linux
70+
gcc
71+
)
72+
target_compile_options(libbid_f128_obj PRIVATE -w)
73+
set_target_properties(libbid_f128_obj PROPERTIES
74+
C_STANDARD 99
75+
C_STANDARD_REQUIRED ON
76+
)
77+
78+
add_library(${libname} STATIC
79+
$<TARGET_OBJECTS:libbid_core_obj>
80+
$<TARGET_OBJECTS:libbid_f128_obj>
81+
)
3582
add_library(libdecimal::${libname} ALIAS ${libname})
36-
add_dependencies(${libname} ${libname}_build)
37-
target_include_directories(${libname} INTERFACE $<BUILD_INTERFACE:${libbid_include_dir}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/libbid> )
38-
target_link_libraries(${libname} INTERFACE $<BUILD_INTERFACE:${makefile_output}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_LIBDIR}/libbid.a>)
3983

40-
# Export build artifacts to parent scope for installation
41-
set(libbid_static_archive "${makefile_output}" PARENT_SCOPE)
42-
set(libbid_static_include_dir "${libbid_include_dir}" PARENT_SCOPE)
84+
target_include_directories(${libname}
85+
PUBLIC
86+
$<BUILD_INTERFACE:${src_dir}>
87+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/libbid>
88+
)
89+
90+
set(libbid_static_archive $<TARGET_FILE:${libname}> PARENT_SCOPE)
91+
set(libbid_static_include_dir "${src_dir}" PARENT_SCOPE)

thirdparty/intel-decimal-float/v2.2.0/.directory_exists

Whitespace-only changes.

thirdparty/intel-decimal-float/v2.2.0/README

Lines changed: 0 additions & 88 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNHPUX32

Lines changed: 0 additions & 4 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNHPUX64

Lines changed: 0 additions & 4 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNLINUX

Lines changed: 0 additions & 5 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNOSX

Lines changed: 0 additions & 5 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNOSXINTEL64

Lines changed: 0 additions & 5 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNSOLARIS

Lines changed: 0 additions & 5 deletions
This file was deleted.

thirdparty/intel-decimal-float/v2.2.0/RUNWINDOWS.bat

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)