@@ -204,8 +204,8 @@ proc cmakeBuild(package: Package, buildPath: string, crossWindows: bool = false)
204
204
205
205
if crossWindows:
206
206
cmakeArgs.add(" -DCMAKE_SYSTEM_NAME=Windows" )
207
- cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc" )
208
- cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++" )
207
+ cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc-posix " )
208
+ cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++-posix " )
209
209
cmakeArgs.add(" -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres" )
210
210
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER" )
211
211
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY" )
@@ -260,8 +260,8 @@ proc x265Build(buildPath: string, crossWindows: bool = false) =
260
260
# Add cross-compilation flags if needed
261
261
if crossWindows:
262
262
cmakeArgs.add(" -DCMAKE_SYSTEM_NAME=Windows" )
263
- cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc" )
264
- cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++" )
263
+ cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc-posix " )
264
+ cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++-posix " )
265
265
cmakeArgs.add(" -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres" )
266
266
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER" )
267
267
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY" )
@@ -292,8 +292,8 @@ proc x265Build(buildPath: string, crossWindows: bool = false) =
292
292
# Add cross-compilation flags if needed
293
293
if crossWindows:
294
294
cmakeArgs.add(" -DCMAKE_SYSTEM_NAME=Windows" )
295
- cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc" )
296
- cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++" )
295
+ cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc-posix " )
296
+ cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++-posix " )
297
297
cmakeArgs.add(" -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres" )
298
298
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER" )
299
299
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY" )
@@ -322,8 +322,8 @@ proc x265Build(buildPath: string, crossWindows: bool = false) =
322
322
# Add cross-compilation flags if needed
323
323
if crossWindows:
324
324
cmakeArgs.add(" -DCMAKE_SYSTEM_NAME=Windows" )
325
- cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc" )
326
- cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++" )
325
+ cmakeArgs.add(" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc-posix " )
326
+ cmakeArgs.add(" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++-posix " )
327
327
cmakeArgs.add(" -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres" )
328
328
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER" )
329
329
cmakeArgs.add(" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY" )
@@ -389,8 +389,8 @@ proc mesonBuild(buildPath: string, crossWindows: bool = false) =
389
389
let crossFile = " build_meson/meson-cross.txt"
390
390
writeFile(crossFile, """
391
391
[binaries]
392
- c = 'x86_64-w64-mingw32-gcc'
393
- cpp = 'x86_64-w64-mingw32-g++'
392
+ c = 'x86_64-w64-mingw32-gcc-posix '
393
+ cpp = 'x86_64-w64-mingw32-g++-posix '
394
394
ar = 'x86_64-w64-mingw32-ar'
395
395
strip = 'x86_64-w64-mingw32-strip'
396
396
pkgconfig = 'x86_64-w64-mingw32-pkg-config'
@@ -431,7 +431,7 @@ proc ffmpegSetup(crossWindows: bool) =
431
431
exec & " tar { tarArgs} { package.location} && mv { package.dirName} { package.name} "
432
432
let patchFile = & " ../patches/{ package.name} .patch "
433
433
if fileExists(patchFile):
434
- let cmd = & " patch -d { package.name} -i { absolutePath(patchFile)} -p1 "
434
+ let cmd = & " patch -d { package.name} -i { absolutePath(patchFile)} -p1 --force "
435
435
echo " Applying patch: " , cmd
436
436
exec cmd
437
437
@@ -458,7 +458,7 @@ proc ffmpegSetup(crossWindows: bool) =
458
458
args.add(" --target=x86_64-win64-gcc" )
459
459
else :
460
460
args.add(" --host=x86_64-w64-mingw32" )
461
- envPrefix = " CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ AR=x86_64-w64-mingw32-ar STRIP=x86_64-w64-mingw32-strip RANLIB=x86_64-w64-mingw32-ranlib "
461
+ envPrefix = " CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix AR=x86_64-w64-mingw32-ar STRIP=x86_64-w64-mingw32-strip RANLIB=x86_64-w64-mingw32-ranlib "
462
462
let cmd = & " { envPrefix} ./configure --prefix=\" { buildPath} \" --disable-shared --enable-static " & args.join(" " )
463
463
echo " RUN: " , cmd
464
464
exec cmd
@@ -511,10 +511,20 @@ task makeff, "Build FFmpeg from source":
511
511
when defined(linux):
512
512
pkgConfigPaths.add(buildPath / " lib/x86_64-linux-gnu/pkgconfig" )
513
513
pkgConfigPaths.add(buildPath / " lib64/pkgconfig" )
514
+ # Add common cmake install paths for pkg-config files
515
+ pkgConfigPaths.add(buildPath / " lib/cmake" )
516
+ pkgConfigPaths.add(buildPath / " share/pkgconfig" )
514
517
putEnv(" PKG_CONFIG_PATH" , pkgConfigPaths.join(" :" ))
515
518
516
519
ffmpegSetup(crossWindows= false )
517
520
521
+ # Debug: List pkg-config files to verify whisper.pc exists
522
+ when defined(linux):
523
+ echo " Checking for whisper.pc files:"
524
+ exec & " find { buildPath} -name 'whisper.pc' -type f "
525
+ echo " Current PKG_CONFIG_PATH: " , getEnv(" PKG_CONFIG_PATH" )
526
+ exec " pkg-config --list-all | grep whisper || echo 'whisper not found in pkg-config'"
527
+
518
528
# Configure and build FFmpeg
519
529
withDir " ffmpeg_sources/ffmpeg" :
520
530
var ldflags = & " -L{ buildPath} /lib "
@@ -541,7 +551,7 @@ task makeffwin, "Build FFmpeg for Windows cross-compilation":
541
551
when defined(linux):
542
552
ldflags &= & " -L{ buildPath} /lib/x86_64-linux-gnu -L{ buildPath} /lib64 "
543
553
544
- exec (& """ CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ AR=x86_64-w64-mingw32-ar STRIP=x86_64-w64-mingw32-strip RANLIB=x86_64-w64-mingw32-ranlib PKG_CONFIG_PATH="{ buildPath} /lib/pkgconfig" ./configure --prefix="{ buildPath} " \
554
+ exec (& """ CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix AR=x86_64-w64-mingw32-ar STRIP=x86_64-w64-mingw32-strip RANLIB=x86_64-w64-mingw32-ranlib PKG_CONFIG_PATH="{ buildPath} /lib/pkgconfig" ./configure --prefix="{ buildPath} " \
545
555
--pkg-config-flags="--static" \
546
556
--extra-cflags="-I{ buildPath} /include" \
547
557
--extra-ldflags="{ ldflags} " \
@@ -558,8 +568,8 @@ task windows, "Cross-compile to Windows (requires mingw-w64)":
558
568
echo " FFmpeg for Windows not found. Run 'nimble makeffwin' first."
559
569
else :
560
570
exec " nim c -d:danger " & disableHevc & " --os:windows --cpu:amd64 --cc:gcc " &
561
- " --gcc.exe:x86_64-w64-mingw32-gcc " &
562
- " --gcc.linkerexe:x86_64-w64-mingw32-gcc " &
571
+ " --gcc.exe:x86_64-w64-mingw32-gcc-posix " &
572
+ " --gcc.linkerexe:x86_64-w64-mingw32-gcc-posix " &
563
573
" --passL:-lbcrypt " & # Add Windows Bcrypt library
564
574
" --passL:-lstdc++ " & # Add C++ standard library
565
575
" --passL:-static " &
0 commit comments