Browse Source

Set rpath on deploy-stub to $ORIGIN for Linux builds

This allows game runtimes to search their directory for shared
libraries instead of needing to use LD_LIBRARY_PATH.
Mitchell Stokes 9 years ago
parent
commit
f61fbd356d
1 changed files with 5 additions and 1 deletions
  1. 5 1
      makepanda/makepanda.py

+ 5 - 1
makepanda/makepanda.py

@@ -6303,8 +6303,12 @@ if (PkgSkip("CONTRIB")==0 and not RUNTIME):
 if True: # TODO
 if True: # TODO
     OPTS=['DIR:pandatool/src/deploy-stub', 'BUILDING:DEPLOYSTUB', 'PYTHON']
     OPTS=['DIR:pandatool/src/deploy-stub', 'BUILDING:DEPLOYSTUB', 'PYTHON']
     TargetAdd('deploy-stub.obj', opts=OPTS, input='deploy-stub.c')
     TargetAdd('deploy-stub.obj', opts=OPTS, input='deploy-stub.c')
+    if GetTarget() == 'linux':
+        # Setup rpath so libs can be found in the same directory as the deployed game
+        LibName('DEPLOYSTUB', "-Wl,-rpath,\$ORIGIN")
+        LibName('DEPLOYSTUB', "-Wl,-z,origin")
     TargetAdd('deploy-stub.exe', input='deploy-stub.obj')
     TargetAdd('deploy-stub.exe', input='deploy-stub.obj')
-    TargetAdd('deploy-stub.exe', opts=['PYTHON'])
+    TargetAdd('deploy-stub.exe', opts=['PYTHON', 'DEPLOYSTUB'])
 
 
 #
 #
 # Generate the models directory and samples directory
 # Generate the models directory and samples directory