xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit 094ae2ab55033d32ac0c71d0b4441a024050b7f8

Fix configuring linker on OS X
There is some unusual linker that uses different options.
Author: xaizek
Author date (UTC): 2026-05-26 17:32
Committer name: xaizek
Committer date (UTC): 2026-05-26 18:01
Parent(s): 1aeda18a13fc671b3e91237ea75c3b0dfce13179
Signing key: 99DC5E4DB05F6BE2
Tree: 98542b9e3c1b2dd5aafbb1455993a29969a1e10b
File Lines added Lines deleted
configure 104 6
configure.ac 22 7
File configure changed (mode: 100755) (index e48a08538..06023241e)
... ... then :
9273 9273 LIBS="$LIBS -ldl" LIBS="$LIBS -ldl"
9274 9274 fi fi
9275 9275
9276 export_some_opt=
9276 9277 as_CACHEVAR=`printf '%s\n' "ax_cv_check_ldflags__-Wl,--export-dynamic-symbol=lua_*" | sed "$as_sed_sh"` as_CACHEVAR=`printf '%s\n' "ax_cv_check_ldflags__-Wl,--export-dynamic-symbol=lua_*" | sed "$as_sed_sh"`
9277 9278 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--export-dynamic-symbol=lua_*" >&5 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--export-dynamic-symbol=lua_*" >&5
9278 9279 printf %s "checking whether the linker accepts -Wl,--export-dynamic-symbol=lua_*... " >&6; } printf %s "checking whether the linker accepts -Wl,--export-dynamic-symbol=lua_*... " >&6; }
 
... ... eval ac_res=\$$as_CACHEVAR
9311 9312 printf '%s\n' "$ac_res" >&6; } printf '%s\n' "$ac_res" >&6; }
9312 9313 if eval test \"x\$"$as_CACHEVAR"\" = x"yes" if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
9313 9314 then : then :
9314 can_limit_symbols=yes
9315 export_some_opt=-Wl,--export-dynamic-symbol=
9315 9316 else case e in #( else case e in #(
9316 9317 e) : ;; e) : ;;
9317 9318 esac esac
9318 9319 fi fi
9319 9320
9320 if test "$can_limit_symbols" = "yes"; then
9321 LDFLAGS="$LDFLAGS -Wl,--export-dynamic-symbol=lua_*"
9322 LDFLAGS="$LDFLAGS -Wl,--export-dynamic-symbol=luaL_*"
9321 if test -n "$OSX_HOST" && test -z "$export_some_opt"; then
9322 # Not sure if underscore prefix is needed only on OS X and whether any other
9323 # linker may accept `-exported_symbol` parameter, but assuming this is
9324 # specific to OS X.
9325 as_CACHEVAR=`printf '%s\n' "ax_cv_check_ldflags__-Wl,-exported_symbol -Wl,_lua_*" | sed "$as_sed_sh"`
9326 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-exported_symbol -Wl,_lua_*" >&5
9327 printf %s "checking whether the linker accepts -Wl,-exported_symbol -Wl,_lua_*... " >&6; }
9328 if eval test \${$as_CACHEVAR+y}
9329 then :
9330 printf %s "(cached) " >&6
9331 else case e in #(
9332 e)
9333 ax_check_save_flags=$LDFLAGS
9334 LDFLAGS="$LDFLAGS -Wl,-exported_symbol -Wl,_lua_*"
9335 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9336 /* end confdefs.h. */
9337
9338 int
9339 main (void)
9340 {
9341
9342 ;
9343 return 0;
9344 }
9345 _ACEOF
9346 if ac_fn_c_try_link "$LINENO"
9347 then :
9348 eval "$as_CACHEVAR=yes"
9349 else case e in #(
9350 e) eval "$as_CACHEVAR=no" ;;
9351 esac
9352 fi
9353 rm -f core conftest.err conftest.$ac_objext conftest.beam \
9354 conftest$ac_exeext conftest.$ac_ext
9355 LDFLAGS=$ax_check_save_flags ;;
9356 esac
9357 fi
9358 eval ac_res=\$$as_CACHEVAR
9359 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
9360 printf '%s\n' "$ac_res" >&6; }
9361 if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
9362 then :
9363 export_some_opt='-Wl,-exported_symbol -Wl,_'
9364 else case e in #(
9365 e) : ;;
9366 esac
9367 fi
9368
9369 fi
9370 if test -n "$export_some_opt"; then
9371 LDFLAGS="$LDFLAGS ${export_some_opt}lua_* ${export_some_opt}luaL_*"
9323 9372 else else
9373 export_all_opt=
9324 9374 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-E" >&5 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-E" >&5
9325 9375 printf %s "checking whether the linker accepts -Wl,-E... " >&6; } printf %s "checking whether the linker accepts -Wl,-E... " >&6; }
9326 9376 if test ${ax_cv_check_ldflags___Wl__E+y} if test ${ax_cv_check_ldflags___Wl__E+y}
 
... ... fi
9357 9407 printf '%s\n' "$ax_cv_check_ldflags___Wl__E" >&6; } printf '%s\n' "$ax_cv_check_ldflags___Wl__E" >&6; }
9358 9408 if test "x$ax_cv_check_ldflags___Wl__E" = xyes if test "x$ax_cv_check_ldflags___Wl__E" = xyes
9359 9409 then : then :
9360 LDFLAGS="$LDFLAGS -Wl,-E"
9410 export_all_opt=-Wl,-E
9361 9411 else case e in #( else case e in #(
9362 e) as_fn_error $? "Linker doesn't support -E flag." "$LINENO" 5 ;;
9412 e) : ;;
9363 9413 esac esac
9364 9414 fi fi
9365 9415
9416 if test -n "$OSX_HOST" && test -z "$export_all_opt"; then
9417 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-export_dynamic" >&5
9418 printf %s "checking whether the linker accepts -Wl,-export_dynamic... " >&6; }
9419 if test ${ax_cv_check_ldflags___Wl__export_dynamic+y}
9420 then :
9421 printf %s "(cached) " >&6
9422 else case e in #(
9423 e)
9424 ax_check_save_flags=$LDFLAGS
9425 LDFLAGS="$LDFLAGS -Wl,-export_dynamic"
9426 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9427 /* end confdefs.h. */
9428
9429 int
9430 main (void)
9431 {
9432
9433 ;
9434 return 0;
9435 }
9436 _ACEOF
9437 if ac_fn_c_try_link "$LINENO"
9438 then :
9439 ax_cv_check_ldflags___Wl__export_dynamic=yes
9440 else case e in #(
9441 e) ax_cv_check_ldflags___Wl__export_dynamic=no ;;
9442 esac
9443 fi
9444 rm -f core conftest.err conftest.$ac_objext conftest.beam \
9445 conftest$ac_exeext conftest.$ac_ext
9446 LDFLAGS=$ax_check_save_flags ;;
9447 esac
9448 fi
9449 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__export_dynamic" >&5
9450 printf '%s\n' "$ax_cv_check_ldflags___Wl__export_dynamic" >&6; }
9451 if test "x$ax_cv_check_ldflags___Wl__export_dynamic" = xyes
9452 then :
9453 export_all_opt=-Wl,-export_dynamic
9454 else case e in #(
9455 e) : ;;
9456 esac
9457 fi
9458
9459 fi
9460 if test -z "$export_all_opt"; then
9461 as_fn_error $? "Linker doesn't support -E flag or an equivalent." "$LINENO" 5
9462 fi
9463 LDFLAGS="$LDFLAGS $export_all_opt"
9366 9464 fi fi
9367 9465
9368 9466 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
File configure.ac changed (mode: 100644) (index 27b38a9f5..4f9913b19)
... ... AC_CHECK_LIB(rt, shm_open, [LIBS="$LIBS -lrt"])
421 421 dnl Used for Lua's loadable C modules, not failing when not present because its dnl Used for Lua's loadable C modules, not failing when not present because its
422 422 dnl existence depends on an operating system dnl existence depends on an operating system
423 423 AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"]) AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"])
424 AX_CHECK_LINK_FLAG([-Wl,--export-dynamic-symbol=lua_*], [can_limit_symbols=yes])
425 if test "$can_limit_symbols" = "yes"; then
424 export_some_opt=
425 AX_CHECK_LINK_FLAG([-Wl,--export-dynamic-symbol=lua_*],
426 [export_some_opt=-Wl,--export-dynamic-symbol=])
427 if test -n "$OSX_HOST" && test -z "$export_some_opt"; then
428 # Not sure if underscore prefix is needed only on OS X and whether any other
429 # linker may accept `-exported_symbol` parameter, but assuming this is
430 # specific to OS X.
431 AX_CHECK_LINK_FLAG([-Wl,-exported_symbol -Wl,_lua_*],
432 [export_some_opt='-Wl,-exported_symbol -Wl,_'])
433 fi
434 if test -n "$export_some_opt"; then
426 435 dnl When supported, whitelist symbols to be exported by the executable dnl When supported, whitelist symbols to be exported by the executable
427 LDFLAGS="$LDFLAGS -Wl,--export-dynamic-symbol=lua_*"
428 LDFLAGS="$LDFLAGS -Wl,--export-dynamic-symbol=luaL_*"
436 LDFLAGS="$LDFLAGS ${export_some_opt}lua_* ${export_some_opt}luaL_*"
429 437 else else
430 AX_CHECK_LINK_FLAG([-Wl,-E],
431 [LDFLAGS="$LDFLAGS -Wl,-E"],
432 [AC_MSG_ERROR([Linker doesn't support -E flag.])])
438 export_all_opt=
439 AX_CHECK_LINK_FLAG([-Wl,-E], [export_all_opt=-Wl,-E])
440 if test -n "$OSX_HOST" && test -z "$export_all_opt"; then
441 AX_CHECK_LINK_FLAG([-Wl,-export_dynamic],
442 [export_all_opt=-Wl,-export_dynamic])
443 fi
444 if test -z "$export_all_opt"; then
445 AC_MSG_ERROR([Linker doesn't support -E flag or an equivalent.])
446 fi
447 LDFLAGS="$LDFLAGS $export_all_opt"
433 448 fi fi
434 449
435 450 dnl Use pthread library dnl Use pthread library
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master