@@ -357,20 +357,40 @@ for pkg in /$WHEELHOUSE_DIR/torch*linux*.whl /$LIBTORCH_HOUSE_DIR/libtorch*.zip;
357
357
done
358
358
fi
359
359
360
+ : " ${C_SO_RPATH:= ' $ORIGIN:$ORIGIN/lib' } "
361
+ : " ${LIB_SO_RPATH:= ' $ORIGIN' } "
362
+
360
363
# set RPATH of _C.so and similar to $ORIGIN, $ORIGIN/lib
361
364
find $PREFIX -maxdepth 1 -type f -name " *.so*" | while read sofile; do
362
- echo " Setting rpath of $sofile to " ' $ORIGIN:$ORIGIN/lib '
363
- $PATCHELF_BIN --set-rpath ' $ORIGIN:$ORIGIN/lib ' $sofile
365
+ echo " Setting rpath of $sofile to $C_SO_RPATH "
366
+ $PATCHELF_BIN --set-rpath $C_SO_RPATH $sofile
364
367
$PATCHELF_BIN --print-rpath $sofile
365
368
done
366
369
367
370
# set RPATH of lib/ files to $ORIGIN
368
371
find $PREFIX /lib -maxdepth 1 -type f -name " *.so*" | while read sofile; do
369
- echo " Setting rpath of $sofile to " ' $ORIGIN '
370
- $PATCHELF_BIN --set-rpath ' $ORIGIN ' $sofile
372
+ echo " Setting rpath of $sofile to $LIB_SO_RPATH "
373
+ $PATCHELF_BIN --set-rpath $LIB_SO_RPATH $sofile
371
374
$PATCHELF_BIN --print-rpath $sofile
372
375
done
373
376
377
+ # add dependencies to METADATA
378
+ # set WHEEL_DEPENDENCIES to be a string in your wrapper script. e.g.: set the
379
+ # following in build_cuda.sh to get cuda dependencies.
380
+ #
381
+ # export WHEEL_DEPENDENCIES="Requires-Dist: nvidia-cublas-cu11\nRequires-Dist: nvidia-cuda-cupti-cu11"
382
+ #
383
+ # Notice that each dependency is prefixed 'Requires-Dist: ' and suffixed with a new line char.
384
+ # The last dependency in the string doesn't have the new line char.
385
+ # This formatting conforms to the METADATA file in a wheel.
386
+ if [[ -n " $WHEEL_DEPENDENCIES " ]]; then
387
+ metadata_file=$( echo $( basename $pkg ) | sed -e ' s/-cp.*$/.dist-info\/METADATA/g' )
388
+ if [[ -e $metadata_file ]]; then
389
+ echo " Adding dependencies to metadata file $metadata_file "
390
+ sed -i " /^Requires-Dist.*/a$WHEEL_DEPENDENCIES " $metadata_file
391
+ fi
392
+ fi
393
+
374
394
# regenerate the RECORD file with new hashes
375
395
record_file=$( echo $( basename $pkg ) | sed -e ' s/-cp.*$/.dist-info\/RECORD/g' )
376
396
if [[ -e $record_file ]]; then
0 commit comments