@@ -87,9 +87,10 @@ public function config(array $extensions = [], array $libraries = [], bool $incl
87
87
$ libs .= " {$ this ->getFrameworksString ($ extensions )}" ;
88
88
}
89
89
if ($ this ->builder ->hasCpp ()) {
90
- $ libs .= $ this -> builder instanceof MacOSBuilder ? ' -lc++ ' : ' -lstdc++ ' ;
90
+ $ libs .= SPCTarget:: getTargetOS () === ' Darwin ' ? ' -lc++ ' : ' -lstdc++ ' ;
91
91
}
92
92
if ($ this ->libs_only_deps ) {
93
+ $ libs = '-L ' . BUILD_LIB_PATH . ' ' . $ libs ;
93
94
return [
94
95
'cflags ' => trim (getenv ('CFLAGS ' ) . ' ' . $ cflags ),
95
96
'ldflags ' => trim (getenv ('LDFLAGS ' ) . ' ' . $ ldflags ),
@@ -105,6 +106,7 @@ public function config(array $extensions = [], array $libraries = [], bool $incl
105
106
if (str_contains ($ libs , BUILD_LIB_PATH . '/mimalloc.o ' )) {
106
107
$ libs = BUILD_LIB_PATH . '/mimalloc.o ' . str_replace (BUILD_LIB_PATH . '/mimalloc.o ' , '' , $ libs );
107
108
}
109
+ $ libs = '-L ' . BUILD_LIB_PATH . ' ' . $ libs ;
108
110
return [
109
111
'cflags ' => trim (getenv ('CFLAGS ' ) . ' ' . $ cflags ),
110
112
'ldflags ' => trim (getenv ('LDFLAGS ' ) . ' ' . $ ldflags ),
@@ -138,8 +140,7 @@ private function getIncludesString(array $libraries): string
138
140
}
139
141
}
140
142
$ pc_cflags = implode (' ' , $ pc );
141
- if ($ pc_cflags !== '' ) {
142
- $ pc_cflags = PkgConfigUtil::getCflags ($ pc_cflags );
143
+ if ($ pc_cflags !== '' && ($ pc_cflags = PkgConfigUtil::getCflags ($ pc_cflags )) !== '' ) {
143
144
$ includes [] = $ pc_cflags ;
144
145
}
145
146
}
@@ -165,7 +166,7 @@ private function getLibsString(array $libraries, bool $use_short_libs = true): s
165
166
if (!file_exists (BUILD_LIB_PATH . "/ {$ lib }" )) {
166
167
throw new WrongUsageException ("Library file ' {$ lib }' for lib [ {$ library }] does not exist in ' " . BUILD_LIB_PATH . "'. Please build it first. " );
167
168
}
168
- $ lib_names [] = $ use_short_libs ? $ this ->getShortLibName ($ lib) : ( BUILD_LIB_PATH . " / { $ lib }" );
169
+ $ lib_names [] = $ this ->getShortLibName ($ lib );
169
170
}
170
171
// add frameworks for macOS
171
172
if (SPCTarget::getTargetOS () === 'Darwin ' ) {
@@ -180,13 +181,13 @@ private function getLibsString(array $libraries, bool $use_short_libs = true): s
180
181
}
181
182
$ pkg_configs = implode (' ' , $ pkg_configs );
182
183
if ($ pkg_configs !== '' ) {
183
- $ pc_libs = array_reverse ( PkgConfigUtil::getLibsArray ($ pkg_configs, $ use_short_libs ) );
184
+ $ pc_libs = PkgConfigUtil::getLibsArray ($ pkg_configs );
184
185
$ lib_names = [...$ lib_names , ...$ pc_libs ];
185
186
}
186
187
}
187
188
188
189
// post-process
189
- $ lib_names = array_reverse (array_unique ($ lib_names ));
190
+ $ lib_names = array_reverse (array_unique (array_reverse ( $ lib_names) ));
190
191
$ frameworks = array_unique ($ frameworks );
191
192
192
193
// process frameworks to short_name
0 commit comments