From 6e2041d58a0bc82f4999003c3e29f837fe68dde0 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Wed, 22 Dec 2010 18:23:45 +0100 Subject: [PATCH] * now symlink script more generic --- eo/install_symlink.py.cmake | 52 ++++++++++++++----------------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/eo/install_symlink.py.cmake b/eo/install_symlink.py.cmake index 274470577..0a867f4b0 100755 --- a/eo/install_symlink.py.cmake +++ b/eo/install_symlink.py.cmake @@ -6,7 +6,16 @@ SOURCE = "@CMAKE_SOURCE_DIR@" BINARY = "@CMAKE_BINARY_DIR@" PREFIX = "/usr" +DATA = { + 'dirs': [ "%s/share/%s" % (PREFIX, NAME) ], + 'links': [ ("%s/src" % SOURCE, "%s/include/%s" % (PREFIX, NAME)), + ("%s/doc" % BINARY, "%s/share/%s/doc" % (PREFIX, NAME)), + ("%s/%s.pc" % (BINARY, NAME), "%s/lib/pkgconfig/%s.pc" % (PREFIX, NAME)), + ] + } + LIBRARIES = ["libcma.a", "libeo.a", "libeoutils.a", "libes.a", "libga.a"] +DATA['links'] += [ ("%s/lib/%s" % (BINARY, lib), "%s/lib/%s" % (PREFIX, lib)) for lib in LIBRARIES ] import os, sys @@ -17,50 +26,27 @@ def isroot(): return True def uninstall(): - # remove libraries' symlink - for lib in LIBRARIES: - os.remove( "%s/lib/%s" % (PREFIX, lib) ) - - # remove headers' symlink - os.remove( "%s/include/%s" % (PREFIX,NAME) ) - - # remove doc's symlink - os.remove( "%s/share/%s/doc" % (PREFIX, NAME) ) - - # remove share directory - os.rmdir( "%s/share/%s" % (PREFIX, NAME) ) - - # remove pkgconfig's symlink - os.remove( "%s/lib/pkgconfig/%s.pc" % (PREFIX, NAME) ) - + for dummy, link in DATA['links']: os.remove(link) + for dirname in DATA['dirs']: os.rmdir(dirname) print 'All symlinks have been removed.' def install(): - # create symlink for libraries - for lib in LIBRARIES: - os.symlink( "%s/lib/%s" % (BINARY, lib), "%s/lib/%s" % (PREFIX, lib) ) - - # create symlink for headers - os.symlink( "%s/src" % SOURCE, "%s/include/%s" % (PREFIX,NAME) ) - - # create share directory - os.mkdir( "%s/share/%s" % (PREFIX, NAME) ) - - # create symlink for doc - os.symlink( "%s/doc" % BINARY, "%s/share/%s/doc" % (PREFIX, NAME) ) - - # create symlink for pkgconfig - os.symlink( "%s/%s.pc" % (BINARY, NAME), "%s/lib/pkgconfig/%s.pc" % (PREFIX, NAME) ) - + for dirname in DATA['dirs']: os.mkdir(dirname) + for src, dst in DATA['links']: os.symlink(src, dst) print 'All symlinks have been installed.' +def data(): + from pprint import pprint + pprint(DATA, width=200) + if __name__ == '__main__': if not isroot(): sys.exit() if len(sys.argv) < 2: - print 'Usage: %s [install|uninstall]' % sys.argv[0] + print 'Usage: %s [install|uninstall|data]' % sys.argv[0] sys.exit() if sys.argv[1] == 'install': install() elif sys.argv[1] == 'uninstall': uninstall() + elif sys.argv[1] == 'data': data()