]>
git.saurik.com Git - apple/dyld.git/blob - testing/test-cases/LC_DYLD_ENV-DYLD_LIBRARY_PATH.dtest/main.c
4c58f79bf02bf447d5abb6fec4f6f3a05876badf
2 // BUILD: mkdir -p $BUILD_DIR/hideyhole
3 // BUILD: $CC foo.c -dynamiclib -o $BUILD_DIR/hideyhole/libfoo1.dylib -install_name /bad/path/libfoo1.dylib
4 // BUILD: $CC foo.c -dynamiclib -o $BUILD_DIR/hideyhole/libfoo2.dylib -install_name /bad/path2/libfoo2.dylib
5 // BUILD: $CC main.c -o $BUILD_DIR/LC_DYLD_ENV-DYLD_LIBRARY_PATH-main1.exe $BUILD_DIR/hideyhole/libfoo1.dylib -Wl,-dyld_env,DYLD_LIBRARY_PATH=@executable_path/hideyhole
6 // BUILD: $CC main.c -o $BUILD_DIR/LC_DYLD_ENV-DYLD_LIBRARY_PATH-main2.exe $BUILD_DIR/hideyhole/libfoo1.dylib -Wl,-dyld_env,DYLD_LIBRARY_PATH=@loader_path/hideyhole
7 // BUILD: $DYLD_ENV_VARS_ENABLE $BUILD_DIR/LC_DYLD_ENV-DYLD_LIBRARY_PATH-main1.exe
8 // BUILD: $DYLD_ENV_VARS_ENABLE $BUILD_DIR/LC_DYLD_ENV-DYLD_LIBRARY_PATH-main2.exe
10 // RUN: ./LC_DYLD_ENV-DYLD_LIBRARY_PATH-main1.exe
11 // RUN: ./LC_DYLD_ENV-DYLD_LIBRARY_PATH-main2.exe
17 /// Test that main executable's LC_DYLD_ENVIRONMENT can set DYLD_LIBRARY_PATH with @executable_path or @loader_path relative paths
19 extern char* __progname
;
23 printf("[BEGIN] LC_DYLD_ENV-DYLD_LIBRARY_PATH %s\n", __progname
);
25 void*h
= dlopen("/other/path/libfoo2.dylib", 0);
28 printf("[PASS] LC_DYLD_ENV-DYLD_LIBRARY_PATH %s\n", __progname
);
30 printf("[FAIL] LC_DYLD_ENV-DYLD_LIBRARY_PATH %s\n", __progname
);