@@ -5,15 +5,31 @@ var DECIMAL_EXT_NAME ="decimal";
55var DECIMAL_EXT_API = "php_decimal.c" ;
66var DECIMAL_EXT_DEP_HEADER = "mpdecimal.h" ;
77var DECIMAL_EXT_FLAGS = "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" ;
8- var DECIMAL_EXT_DEP_LIB = "libmpdec.lib" ;
8+ var DECIMAL_EXT_DEP_LIB_SHARED = "libmpdec.lib" ;
9+ var DECIMAL_EXT_DEP_LIB_STATIC = "libmpdec_a.lib" ;
910
1011/* --------------------------------------------------------------------- */
1112
1213ARG_WITH ( "decimal" , "for decimal support" , "yes" ) ;
1314
1415if ( PHP_DECIMAL == "yes" ) {
15- if ( CHECK_LIB ( DECIMAL_EXT_DEP_LIB , DECIMAL_EXT_NAME , PHP_DECIMAL ) && CHECK_HEADER_ADD_INCLUDE ( DECIMAL_EXT_DEP_HEADER , "CFLAGS_DECIMAL" ) ) {
16+ var setup_ok = false ;
17+ var libmpdec_shared = false ;
18+
19+ if ( CHECK_HEADER_ADD_INCLUDE ( DECIMAL_EXT_DEP_HEADER , "CFLAGS_DECIMAL" ) ) {
20+ if ( PHP_DECIMAL_SHARED && CHECK_LIB ( DECIMAL_EXT_DEP_LIB_SHARED , DECIMAL_EXT_NAME , PHP_DECIMAL ) ) {
21+ setup_ok = true ;
22+ libmpdec_shared = true ;
23+ } else if ( CHECK_LIB ( DECIMAL_EXT_DEP_LIB_STATIC , DECIMAL_EXT_NAME , PHP_DECIMAL ) ) {
24+ setup_ok = true ;
25+ }
26+ }
27+
28+ if ( setup_ok ) {
1629 EXTENSION ( DECIMAL_EXT_NAME , DECIMAL_EXT_API , PHP_DECIMAL_SHARED , DECIMAL_EXT_FLAGS ) ;
30+ if ( libmpdec_shared ) {
31+ ADD_FLAG ( "CFLAGS_DECIMAL" , "/D USE_DLL=1" ) ;
32+ }
1733 } else {
1834 WARNING ( "decimal not enabled; libraries and headers not found" ) ;
1935 }
0 commit comments