Also allow --rpath as rpath linker flags (#18473)
This commit is contained in:
		
							
								
								
									
										10
									
								
								lib/spack/env/cc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								lib/spack/env/cc
									
									
									
									
										vendored
									
									
								
							@@ -320,9 +320,13 @@ while [ -n "$1" ]; do
 | 
			
		||||
            if [ -z "$arg" ]; then shift; arg="$1"; fi
 | 
			
		||||
            if [[ "$arg" = -rpath=* ]]; then
 | 
			
		||||
                rp="${arg#-rpath=}"
 | 
			
		||||
            elif [[ "$arg" = --rpath=* ]]; then
 | 
			
		||||
                rp="${arg#--rpath=}"
 | 
			
		||||
            elif [[ "$arg" = -rpath,* ]]; then
 | 
			
		||||
                rp="${arg#-rpath,}"
 | 
			
		||||
            elif [[ "$arg" = -rpath ]]; then
 | 
			
		||||
            elif [[ "$arg" = --rpath,* ]]; then
 | 
			
		||||
                rp="${arg#--rpath,}"
 | 
			
		||||
            elif [[ "$arg" =~ ^-?-rpath$ ]]; then
 | 
			
		||||
                shift; arg="$1"
 | 
			
		||||
                if [[ "$arg" != -Wl,* ]]; then
 | 
			
		||||
                    die "-Wl,-rpath was not followed by -Wl,*"
 | 
			
		||||
@@ -339,7 +343,9 @@ while [ -n "$1" ]; do
 | 
			
		||||
            if [ -z "$arg" ]; then shift; arg="$1"; fi
 | 
			
		||||
            if [[ "$arg" = -rpath=* ]]; then
 | 
			
		||||
                rp="${arg#-rpath=}"
 | 
			
		||||
            elif [[ "$arg" = -rpath ]]; then
 | 
			
		||||
            elif [[ "$arg" = --rpath=* ]]; then
 | 
			
		||||
                rp="${arg#--rpath=}"
 | 
			
		||||
            elif [[ "$arg" = -rpath  ]] || [[ "$arg" = --rpath ]]; then
 | 
			
		||||
                shift; arg="$1"
 | 
			
		||||
                if [[ "$arg" != -Xlinker,* ]]; then
 | 
			
		||||
                    die "-Xlinker,-rpath was not followed by -Xlinker,*"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,7 @@
 | 
			
		||||
    '-Wl,--end-group',
 | 
			
		||||
    '-Xlinker', '-rpath', '-Xlinker', '/third/rpath',
 | 
			
		||||
    '-Xlinker', '-rpath', '-Xlinker', '/fourth/rpath',
 | 
			
		||||
    '-Wl,--rpath,/fifth/rpath', '-Wl,--rpath', '-Wl,/sixth/rpath',
 | 
			
		||||
    '-llib3', '-llib4',
 | 
			
		||||
    'arg5', 'arg6']
 | 
			
		||||
 | 
			
		||||
@@ -45,11 +46,13 @@
 | 
			
		||||
 | 
			
		||||
test_wl_rpaths = [
 | 
			
		||||
    '-Wl,-rpath,/first/rpath', '-Wl,-rpath,/second/rpath',
 | 
			
		||||
    '-Wl,-rpath,/third/rpath', '-Wl,-rpath,/fourth/rpath']
 | 
			
		||||
    '-Wl,-rpath,/third/rpath', '-Wl,-rpath,/fourth/rpath',
 | 
			
		||||
    '-Wl,-rpath,/fifth/rpath', '-Wl,-rpath,/sixth/rpath']
 | 
			
		||||
 | 
			
		||||
test_rpaths = [
 | 
			
		||||
    '-rpath', '/first/rpath', '-rpath', '/second/rpath',
 | 
			
		||||
    '-rpath', '/third/rpath', '-rpath', '/fourth/rpath']
 | 
			
		||||
    '-rpath', '/third/rpath', '-rpath', '/fourth/rpath',
 | 
			
		||||
    '-rpath', '/fifth/rpath', '-rpath', '/sixth/rpath']
 | 
			
		||||
 | 
			
		||||
test_args_without_paths = [
 | 
			
		||||
    'arg1',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user