@@ -25,8 +25,8 @@ def get_arguments():
25
25
buildopt = parser .add_argument_group ('general build options' )
26
26
buildopt .add_argument ('-t' , '--target' , metavar = 'ARCH' , choices = ['X86' , 'AArch64' , 'PowerPC' ], default = 'X86' ,
27
27
help = 'Control which targets are enabled (%(choices)s) (default: %(default)s)' )
28
- buildopt .add_argument ('-p' , '--install-prefix' , metavar = 'PATH' , nargs = '?' , default = Path ( settings . LLVM_DIR , '..' , 'install' ) , const = False ,
29
- help = 'install directory (default: %(default)s) ' )
28
+ buildopt .add_argument ('-p' , '--install-prefix' , metavar = 'PATH' , nargs = '?' , default = None , const = False ,
29
+ help = 'Install directory (default: do not install) ' )
30
30
buildopt .add_argument ('-j' , '--jobs' , metavar = 'N' , type = int , default = os .cpu_count (),
31
31
help = 'number of parallel build jobs (default: %(default)s)' )
32
32
buildopt .add_argument ('--toolchain' , metavar = 'FILE' , default = default_toolchain ().as_posix (),
@@ -53,19 +53,21 @@ def get_arguments():
53
53
return arguments
54
54
55
55
def generate_buildoptions (arguments ):
56
- install_root = Path (arguments .install_prefix )
57
-
58
56
base_cmake_args = [
59
- f'-DCMAKE_INSTALL_PREFIX={ install_root .as_posix ()} ' ,
60
57
f'-DCMAKE_BUILD_TYPE={ arguments .build_type } ' ,
61
58
f'-DCMAKE_TOOLCHAIN_FILE={ arguments .toolchain } '
62
59
]
60
+
63
61
if sys .platform == 'win32' and platform .uname ()[4 ].lower () == 'arm64' :
64
62
base_cmake_args .append ('-GNMake Makefiles' )
65
63
else :
66
64
generator = 'Ninja' if sys .platform == 'win32' else 'Unix Makefiles'
67
65
base_cmake_args .append (f'-G{ generator } ' )
68
66
67
+ if arguments .install_prefix :
68
+ install_root = Path (arguments .install_prefix )
69
+ base_cmake_args .append (f'-DCMAKE_INSTALL_PREFIX={ install_root .as_posix ()} ' )
70
+
69
71
if arguments .use_ccache :
70
72
base_cmake_args .append ('-DCMAKE_C_COMPILER_LAUNCHER=ccache' )
71
73
base_cmake_args .append ('-DCMAKE_CXX_COMPILER_LAUNCHER=ccache' )
@@ -144,7 +146,8 @@ def main():
144
146
print_header ('Building classic llvm' )
145
147
build_path = configure_llvm (arguments )
146
148
build_project (build_path , arguments )
147
- install_project (build_path , arguments )
149
+ if arguments .install_prefix is not None :
150
+ install_project (build_path , arguments )
148
151
149
152
if __name__ == "__main__" :
150
153
main ()
0 commit comments