From: Bo Peng Date: Sat, 8 Jul 2006 21:31:57 +0000 (+0000) Subject: Scons: fix DESTDIR X-Git-Tag: 1.6.10~12979 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=1f831d0a995bd27ea91fbe6d56eb40d4f8ba52ee;p=lyx.git Scons: fix DESTDIR git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14386 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/development/scons/SConstruct b/development/scons/SConstruct index 8e257f9b69..11664f1790 100644 --- a/development/scons/SConstruct +++ b/development/scons/SConstruct @@ -88,7 +88,7 @@ elif os.name == 'posix' and sys.platform != 'cygwin': elif os.name == 'posix' and sys.platform == 'cygwin': platform_name = 'cygwin' default_frontend = 'qt3' - default_prefix = '/usr/local' + default_prefix = '/usr' default_with_x = True default_packaging_method = 'posix' elif os.name == 'darwin': @@ -2263,29 +2263,45 @@ if build_po: if 'install' in targets: # - # install to DESTDIR or prefix - dest_dir = env.Dir(env.get('DESTDIR', prefix)).abspath - # if dest_dir is different from prefix. - if env.has_key('exec_prefix'): - bin_dest_dir = Dir(env['exec_prefix']).abspath - else: - bin_dest_dir = os.path.join(dest_dir, 'bin') - if add_suffix: - share_dest_dir = os.path.join(dest_dir, share_dir + program_suffix) - else: - share_dest_dir = os.path.join(dest_dir, share_dir) - man_dest_dir = os.path.join(dest_dir, man_dir) - locale_dest_dir = os.path.join(dest_dir, locale_dir) + # this part is a bit messy right now. Since scons will provide + # --DESTDIR option soon, at least the dest_dir handling can be + # removed later. + # + # how to join dest_dir and prefix + def joinPaths(path1, path2): + ''' join path1 and path2, do not use os.path.join because + under window, c:\destdir\d:\program is invalid ''' + if path1 is None: + return os.path.normpath(path2) + # separate drive letter + (drive, path) = os.path.splitdrive(os.path.normpath(path2)) + # ignore drive letter, so c:\destdir + c:\program = c:\destdir\program + return os.path.join(os.path.normpath(path1), path[1:]) + # + # install to dest_dir/prefix + dest_dir = env.get('DESTDIR', None) + dest_prefix_dir = joinPaths(dest_dir, env.Dir(prefix).abspath) # create the directory if needed - if not os.path.isdir(dest_dir): + if not os.path.isdir(dest_prefix_dir): try: - os.makedirs(dest_dir) + os.makedirs(dest_prefix_dir) except: pass - if not os.path.isdir(dest_dir): - print 'Can not create directory', dest_dir + if not os.path.isdir(dest_prefix_dir): + print 'Can not create directory', dest_prefix_dir Exit(3) # + if env.has_key('exec_prefix'): + bin_dest_dir = joinPaths(dest_dir, Dir(env['exec_prefix']).abspath) + else: + bin_dest_dir = os.path.join(dest_prefix_dir, 'bin') + if add_suffix: + share_dest_dir = os.path.join(dest_prefix_dir, share_dir + program_suffix) + else: + share_dest_dir = os.path.join(dest_prefix_dir, share_dir) + man_dest_dir = os.path.join(dest_prefix_dir, man_dir) + locale_dest_dir = os.path.join(dest_prefix_dir, locale_dir) + # import glob # # do not install these files @@ -2306,7 +2322,7 @@ if 'install' in targets: glob.glob(os.path.join(dir, '*'))) ) return ins_dir # - # executables (some of them may be none) + # install executables (lyxclient may be None) # if add_suffix: version_suffix = program_suffix