[DEV] start create a pip installable lutin
This commit is contained in:
parent
78336f359e
commit
801e2e8209
210
bin/lutin
Executable file
210
bin/lutin
Executable file
@ -0,0 +1,210 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
##
|
||||||
|
## @author Edouard DUPIN
|
||||||
|
##
|
||||||
|
## @copyright 2012, Edouard DUPIN, all right reserved
|
||||||
|
##
|
||||||
|
## @license APACHE v2.0 (see license file)
|
||||||
|
##
|
||||||
|
|
||||||
|
# for path inspection:
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import lutin.debug as debug
|
||||||
|
import lutin.arg as arguments
|
||||||
|
import lutin.host as host
|
||||||
|
import lutin.module as module
|
||||||
|
import lutin.target as target
|
||||||
|
import lutin.multiprocess as multiprocess
|
||||||
|
|
||||||
|
myArgs = arguments.LutinArg()
|
||||||
|
myArgs.add(arguments.ArgDefine("h", "help", desc="display this help"))
|
||||||
|
myArgs.add_section("option", "Can be set one time in all case")
|
||||||
|
myArgs.add(arguments.ArgDefine("v", "verbose", list=[["0","None"],["1","error"],["2","warning"],["3","info"],["4","debug"],["5","verbose"],["6","extreme_verbose"]], desc="display makefile debug level (verbose) default =2"))
|
||||||
|
myArgs.add(arguments.ArgDefine("C", "color", desc="display makefile output in color"))
|
||||||
|
myArgs.add(arguments.ArgDefine("f", "force", desc="Force the rebuild without checking the dependency"))
|
||||||
|
myArgs.add(arguments.ArgDefine("P", "pretty", desc="print the debug has pretty display"))
|
||||||
|
myArgs.add(arguments.ArgDefine("j", "jobs", haveParam=True, desc="Specifies the number of jobs (commands) to run simultaneously"))
|
||||||
|
myArgs.add(arguments.ArgDefine("s", "force-strip", desc="Force the stripping of the compile elements"))
|
||||||
|
|
||||||
|
myArgs.add_section("properties", "keep in the sequency of the cible")
|
||||||
|
myArgs.add(arguments.ArgDefine("t", "target", haveParam=True, desc="Select a target (by default the platform is the computer that compile this) To know list : 'lutin.py --list-target'"))
|
||||||
|
myArgs.add(arguments.ArgDefine("c", "compilator", list=[["clang",""],["gcc",""]], desc="Compile with clang or Gcc mode (by default gcc will be used)"))
|
||||||
|
myArgs.add(arguments.ArgDefine("m", "mode", list=[["debug",""],["release",""]], desc="Compile in release or debug mode (default release)"))
|
||||||
|
myArgs.add(arguments.ArgDefine("a", "arch", list=[["auto","Automatic choice"],["arm","Arm processer"],["x86","Generic PC : AMD/Intel"],["ppc","Power PC"]], desc="Architecture to compile"))
|
||||||
|
myArgs.add(arguments.ArgDefine("b", "bus", list=[["auto","Automatic choice"],["32","32 bits"],["64","64 bits"]], desc="Adressing size (Bus size)"))
|
||||||
|
myArgs.add(arguments.ArgDefine("p", "package", desc="Disable the package generation (usefull when just compile for test on linux ...)"))
|
||||||
|
myArgs.add(arguments.ArgDefine("g", "gcov", desc="Enable code coverage intrusion in code"))
|
||||||
|
myArgs.add(arguments.ArgDefine("", "simulation", desc="simulater mode (availlable only for IOS)"))
|
||||||
|
myArgs.add(arguments.ArgDefine("", "list-target", desc="list all availlables targets ==> for auto completion"))
|
||||||
|
myArgs.add(arguments.ArgDefine("", "list-module", desc="list all availlables module ==> for auto completion"))
|
||||||
|
|
||||||
|
myArgs.add_section("cible", "generate in order set")
|
||||||
|
localArgument = myArgs.parse()
|
||||||
|
|
||||||
|
"""
|
||||||
|
display the help of this makefile
|
||||||
|
"""
|
||||||
|
def usage():
|
||||||
|
# generic argument displayed :
|
||||||
|
myArgs.display()
|
||||||
|
print(" All target can finish with '?clean' '?dump' ... ?action")
|
||||||
|
print(" all")
|
||||||
|
print(" build all (only for the current selected board) (bynary and packages)")
|
||||||
|
print(" clean")
|
||||||
|
print(" clean all (same as previous)")
|
||||||
|
print(" dump")
|
||||||
|
print(" Dump all the module dependency and properties")
|
||||||
|
listOfAllModule = module.list_all_module_with_desc()
|
||||||
|
for mod in listOfAllModule:
|
||||||
|
print(" " + mod[0])
|
||||||
|
if mod[1] != "":
|
||||||
|
print(" " + mod[1])
|
||||||
|
print(" ex: " + sys.argv[0] + " all --target=Android all -t Windows -m debug all")
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
# preparse the argument to get the verbose element for debug mode
|
||||||
|
def parseGenericArg(argument, active):
|
||||||
|
if argument.get_option_nName() == "help":
|
||||||
|
#display help
|
||||||
|
if active==False:
|
||||||
|
usage()
|
||||||
|
return True
|
||||||
|
if argument.get_option_nName() == "list-module":
|
||||||
|
if active==False:
|
||||||
|
listOfModule = module.list_all_module()
|
||||||
|
retValue = ""
|
||||||
|
for moduleName in listOfModule:
|
||||||
|
if retValue != "":
|
||||||
|
retValue += " "
|
||||||
|
retValue += moduleName
|
||||||
|
print(retValue)
|
||||||
|
exit(0)
|
||||||
|
return True
|
||||||
|
if argument.get_option_nName() == "list-target":
|
||||||
|
if active==False:
|
||||||
|
listOfTarget = target.list_all_target()
|
||||||
|
retValue = ""
|
||||||
|
for targetName in listOfTarget:
|
||||||
|
if retValue != "":
|
||||||
|
retValue += " "
|
||||||
|
retValue += targetName
|
||||||
|
print(retValue)
|
||||||
|
exit(0)
|
||||||
|
return True
|
||||||
|
elif argument.get_option_nName()=="jobs":
|
||||||
|
if active==True:
|
||||||
|
lutinMultiprocess.set_core_number(int(argument.get_arg()))
|
||||||
|
return True
|
||||||
|
elif argument.get_option_nName() == "verbose":
|
||||||
|
if active==True:
|
||||||
|
debug.set_level(int(argument.get_arg()))
|
||||||
|
return True
|
||||||
|
elif argument.get_option_nName() == "color":
|
||||||
|
if active==True:
|
||||||
|
debug.enable_color()
|
||||||
|
return True
|
||||||
|
elif argument.get_option_nName() == "force":
|
||||||
|
if active==True:
|
||||||
|
lutinEnv.set_force_mode(True)
|
||||||
|
return True
|
||||||
|
elif argument.get_option_nName() == "pretty":
|
||||||
|
if active==True:
|
||||||
|
lutinEnv.set_print_pretty_mode(True)
|
||||||
|
return True
|
||||||
|
elif argument.get_option_nName() == "force-strip":
|
||||||
|
if active==True:
|
||||||
|
lutinEnv.set_force_strip_mode(True)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
# parse default unique argument:
|
||||||
|
for argument in localArgument:
|
||||||
|
parseGenericArg(argument, True)
|
||||||
|
|
||||||
|
|
||||||
|
import lutin
|
||||||
|
|
||||||
|
|
||||||
|
import lutin.host as lutinHost
|
||||||
|
import lutin.tools as lutinTools
|
||||||
|
|
||||||
|
#available target : Linux / MacOs / Windows / Android ...
|
||||||
|
targetName = host.OS
|
||||||
|
config = {
|
||||||
|
"compilator":"gcc",
|
||||||
|
"mode":"release",
|
||||||
|
"bus-size":"auto",
|
||||||
|
"arch":"auto",
|
||||||
|
"generate-package":True,
|
||||||
|
"simulation":False,
|
||||||
|
"gcov":False
|
||||||
|
}
|
||||||
|
# load the default target :
|
||||||
|
my_target = None
|
||||||
|
actionDone=False
|
||||||
|
# parse all argument
|
||||||
|
for argument in localArgument:
|
||||||
|
if parseGenericArg(argument, False) == True:
|
||||||
|
continue
|
||||||
|
elif argument.get_option_nName() == "package":
|
||||||
|
config["generate-package"]=False
|
||||||
|
elif argument.get_option_nName() == "simulation":
|
||||||
|
config["simulation"]=True
|
||||||
|
elif argument.get_option_nName() == "gcov":
|
||||||
|
config["gcov"]=True
|
||||||
|
elif argument.get_option_nName() == "bus":
|
||||||
|
config["bus-size"]=argument.get_arg()
|
||||||
|
elif argument.get_option_nName() == "arch":
|
||||||
|
config["arch"]=argument.get_arg()
|
||||||
|
elif argument.get_option_nName() == "compilator":
|
||||||
|
if config["compilator"] != argument.get_arg():
|
||||||
|
debug.debug("change compilator ==> " + argument.get_arg())
|
||||||
|
config["compilator"] = argument.get_arg()
|
||||||
|
#remove previous target
|
||||||
|
my_target = None
|
||||||
|
elif argument.get_option_nName() == "target":
|
||||||
|
# No check input ==> this will be verify automaticly chen the target will be loaded
|
||||||
|
if targetName != argument.get_arg():
|
||||||
|
targetName = argument.get_arg()
|
||||||
|
debug.debug("change target ==> '" + targetName + "' & reset mode : gcc&release")
|
||||||
|
#reset properties by defauult:
|
||||||
|
config = {
|
||||||
|
"compilator":"gcc",
|
||||||
|
"mode":"release",
|
||||||
|
"bus-size":"auto",
|
||||||
|
"arch":"auto",
|
||||||
|
"generate-package":True,
|
||||||
|
"simulation":False,
|
||||||
|
"gcov":False
|
||||||
|
}
|
||||||
|
#remove previous target
|
||||||
|
my_target = None
|
||||||
|
elif argument.get_option_nName() == "mode":
|
||||||
|
if config["mode"] != argument.get_arg():
|
||||||
|
config["mode"] = argument.get_arg()
|
||||||
|
debug.debug("change mode ==> " + config["mode"])
|
||||||
|
#remove previous target
|
||||||
|
my_target = None
|
||||||
|
else:
|
||||||
|
if argument.get_option_nName() != "":
|
||||||
|
debug.warning("Can not understand argument : '" + argument.get_option_nName() + "'")
|
||||||
|
usage()
|
||||||
|
else:
|
||||||
|
#load the target if needed :
|
||||||
|
if my_target == None:
|
||||||
|
my_target = target.load_target(targetName, config)
|
||||||
|
my_target.build(argument.get_arg())
|
||||||
|
actionDone=True
|
||||||
|
|
||||||
|
# if no action done : we do "all" ...
|
||||||
|
if actionDone==False:
|
||||||
|
#load the target if needed :
|
||||||
|
if my_target == None:
|
||||||
|
my_target = target.load_target(targetName, config)
|
||||||
|
my_target.build("all")
|
||||||
|
|
||||||
|
# stop all started threads;
|
||||||
|
multiprocess.un_init()
|
||||||
|
|
||||||
|
|
241
lutin.py
241
lutin.py
@ -1,241 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
##
|
|
||||||
## @author Edouard DUPIN
|
|
||||||
##
|
|
||||||
## @copyright 2012, Edouard DUPIN, all right reserved
|
|
||||||
##
|
|
||||||
## @license APACHE v2.0 (see license file)
|
|
||||||
##
|
|
||||||
|
|
||||||
# for path inspection:
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import inspect
|
|
||||||
import fnmatch
|
|
||||||
import lutinDebug as debug
|
|
||||||
import lutinEnv
|
|
||||||
import lutinModule
|
|
||||||
import lutinMultiprocess
|
|
||||||
import lutinArg
|
|
||||||
|
|
||||||
myLutinArg = lutinArg.LutinArg()
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("h", "help", desc="display this help"))
|
|
||||||
myLutinArg.add_section("option", "Can be set one time in all case")
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("v", "verbose", list=[["0","None"],["1","error"],["2","warning"],["3","info"],["4","debug"],["5","verbose"],["6","extreme_verbose"]], desc="display makefile debug level (verbose) default =2"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("C", "color", desc="display makefile output in color"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("f", "force", desc="Force the rebuild without checking the dependency"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("P", "pretty", desc="print the debug has pretty display"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("j", "jobs", haveParam=True, desc="Specifies the number of jobs (commands) to run simultaneously"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("s", "force-strip", desc="Force the stripping of the compile elements"))
|
|
||||||
|
|
||||||
myLutinArg.add_section("properties", "keep in the sequency of the cible")
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("t", "target", haveParam=True, desc="Select a target (by default the platform is the computer that compile this) To know list : 'lutin.py --list-target'"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("c", "compilator", list=[["clang",""],["gcc",""]], desc="Compile with clang or Gcc mode (by default gcc will be used)"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("m", "mode", list=[["debug",""],["release",""]], desc="Compile in release or debug mode (default release)"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("a", "arch", list=[["auto","Automatic choice"],["arm","Arm processer"],["x86","Generic PC : AMD/Intel"],["ppc","Power PC"]], desc="Architecture to compile"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("b", "bus", list=[["auto","Automatic choice"],["32","32 bits"],["64","64 bits"]], desc="Adressing size (Bus size)"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("p", "package", desc="Disable the package generation (usefull when just compile for test on linux ...)"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("g", "gcov", desc="Enable code coverage intrusion in code"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("", "simulation", desc="simulater mode (availlable only for IOS)"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("", "list-target", desc="list all availlables targets ==> for auto completion"))
|
|
||||||
myLutinArg.add(lutinArg.ArgDefine("", "list-module", desc="list all availlables module ==> for auto completion"))
|
|
||||||
|
|
||||||
myLutinArg.add_section("cible", "generate in order set")
|
|
||||||
localArgument = myLutinArg.parse()
|
|
||||||
|
|
||||||
"""
|
|
||||||
display the help of this makefile
|
|
||||||
"""
|
|
||||||
def usage():
|
|
||||||
# generic argument displayed :
|
|
||||||
myLutinArg.display()
|
|
||||||
print(" All target can finish with '?clean' '?dump' ... ?action")
|
|
||||||
print(" all")
|
|
||||||
print(" build all (only for the current selected board) (bynary and packages)")
|
|
||||||
print(" clean")
|
|
||||||
print(" clean all (same as previous)")
|
|
||||||
print(" dump")
|
|
||||||
print(" Dump all the module dependency and properties")
|
|
||||||
listOfAllModule = lutinModule.list_all_module_with_desc()
|
|
||||||
for mod in listOfAllModule:
|
|
||||||
print(" " + mod[0])
|
|
||||||
if mod[1] != "":
|
|
||||||
print(" " + mod[1])
|
|
||||||
print(" ex: " + sys.argv[0] + " all --target=Android all -t Windows -m debug all")
|
|
||||||
exit(0)
|
|
||||||
|
|
||||||
# preparse the argument to get the verbose element for debug mode
|
|
||||||
def parseGenericArg(argument,active):
|
|
||||||
if argument.get_option_nName() == "help":
|
|
||||||
#display help
|
|
||||||
if active==False:
|
|
||||||
usage()
|
|
||||||
return True
|
|
||||||
if argument.get_option_nName() == "list-module":
|
|
||||||
if active==False:
|
|
||||||
listOfModule = lutinModule.list_all_module()
|
|
||||||
retValue = ""
|
|
||||||
for moduleName in listOfModule:
|
|
||||||
if retValue != "":
|
|
||||||
retValue += " "
|
|
||||||
retValue += moduleName
|
|
||||||
print(retValue)
|
|
||||||
exit(0)
|
|
||||||
return True
|
|
||||||
if argument.get_option_nName() == "list-target":
|
|
||||||
if active==False:
|
|
||||||
listOfTarget = lutinTarget.list_all_target()
|
|
||||||
retValue = ""
|
|
||||||
for targetName in listOfTarget:
|
|
||||||
if retValue != "":
|
|
||||||
retValue += " "
|
|
||||||
retValue += targetName
|
|
||||||
print(retValue)
|
|
||||||
exit(0)
|
|
||||||
return True
|
|
||||||
elif argument.get_option_nName()=="jobs":
|
|
||||||
if active==True:
|
|
||||||
lutinMultiprocess.set_core_number(int(argument.get_arg()))
|
|
||||||
return True
|
|
||||||
elif argument.get_option_nName() == "verbose":
|
|
||||||
if active==True:
|
|
||||||
debug.set_level(int(argument.get_arg()))
|
|
||||||
return True
|
|
||||||
elif argument.get_option_nName() == "color":
|
|
||||||
if active==True:
|
|
||||||
debug.enable_color()
|
|
||||||
return True
|
|
||||||
elif argument.get_option_nName() == "force":
|
|
||||||
if active==True:
|
|
||||||
lutinEnv.set_force_mode(True)
|
|
||||||
return True
|
|
||||||
elif argument.get_option_nName() == "pretty":
|
|
||||||
if active==True:
|
|
||||||
lutinEnv.set_print_pretty_mode(True)
|
|
||||||
return True
|
|
||||||
elif argument.get_option_nName() == "force-strip":
|
|
||||||
if active==True:
|
|
||||||
lutinEnv.set_force_strip_mode(True)
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
# parse default unique argument:
|
|
||||||
if __name__ == "__main__":
|
|
||||||
for argument in localArgument:
|
|
||||||
parseGenericArg(argument, True)
|
|
||||||
|
|
||||||
# now import other standard module (must be done here and not before ...
|
|
||||||
import lutinTarget
|
|
||||||
import lutinBuilder
|
|
||||||
import lutinSystem
|
|
||||||
import lutinHost
|
|
||||||
import lutinTools
|
|
||||||
|
|
||||||
"""
|
|
||||||
Run everything that is needed in the system
|
|
||||||
"""
|
|
||||||
def Start():
|
|
||||||
#available target : Linux / MacOs / Windows / Android ...
|
|
||||||
targetName=lutinHost.OS
|
|
||||||
config = {
|
|
||||||
"compilator":"gcc",
|
|
||||||
"mode":"release",
|
|
||||||
"bus-size":"auto",
|
|
||||||
"arch":"auto",
|
|
||||||
"generate-package":True,
|
|
||||||
"simulation":False,
|
|
||||||
"gcov":False
|
|
||||||
}
|
|
||||||
# load the default target :
|
|
||||||
target = None
|
|
||||||
actionDone=False
|
|
||||||
# parse all argument
|
|
||||||
for argument in localArgument:
|
|
||||||
if True==parseGenericArg(argument, False):
|
|
||||||
continue
|
|
||||||
elif argument.get_option_nName() == "package":
|
|
||||||
config["generate-package"]=False
|
|
||||||
elif argument.get_option_nName() == "simulation":
|
|
||||||
config["simulation"]=True
|
|
||||||
elif argument.get_option_nName() == "gcov":
|
|
||||||
config["gcov"]=True
|
|
||||||
elif argument.get_option_nName() == "bus":
|
|
||||||
config["bus-size"]=argument.get_arg()
|
|
||||||
elif argument.get_option_nName() == "arch":
|
|
||||||
config["arch"]=argument.get_arg()
|
|
||||||
elif argument.get_option_nName() == "compilator":
|
|
||||||
if config["compilator"] != argument.get_arg():
|
|
||||||
debug.debug("change compilator ==> " + argument.get_arg())
|
|
||||||
config["compilator"] = argument.get_arg()
|
|
||||||
#remove previous target
|
|
||||||
target = None
|
|
||||||
elif argument.get_option_nName() == "target":
|
|
||||||
# No check input ==> this will be verify automaticly chen the target will be loaded
|
|
||||||
if targetName!=argument.get_arg():
|
|
||||||
targetName=argument.get_arg()
|
|
||||||
debug.debug("change target ==> '" + targetName + "' & reset mode : gcc&release")
|
|
||||||
#reset properties by defauult:
|
|
||||||
config = {
|
|
||||||
"compilator":"gcc",
|
|
||||||
"mode":"release",
|
|
||||||
"bus-size":"auto",
|
|
||||||
"arch":"auto",
|
|
||||||
"generate-package":True,
|
|
||||||
"simulation":False,
|
|
||||||
"gcov":False
|
|
||||||
}
|
|
||||||
#remove previous target
|
|
||||||
target = None
|
|
||||||
elif argument.get_option_nName() == "mode":
|
|
||||||
if config["mode"]!=argument.get_arg():
|
|
||||||
config["mode"] = argument.get_arg()
|
|
||||||
debug.debug("change mode ==> " + config["mode"])
|
|
||||||
#remove previous target
|
|
||||||
target = None
|
|
||||||
else:
|
|
||||||
if argument.get_option_nName() != "":
|
|
||||||
debug.warning("Can not understand argument : '" + argument.get_option_nName() + "'")
|
|
||||||
usage()
|
|
||||||
else:
|
|
||||||
#load the target if needed :
|
|
||||||
if target == None:
|
|
||||||
target = lutinTarget.load_target(targetName, config)
|
|
||||||
target.build(argument.get_arg())
|
|
||||||
actionDone=True
|
|
||||||
# if no action done : we do "all" ...
|
|
||||||
if actionDone==False:
|
|
||||||
#load the target if needed :
|
|
||||||
if target == None:
|
|
||||||
target = lutinTarget.load_target(targetName, config)
|
|
||||||
target.build("all")
|
|
||||||
# stop all started threads
|
|
||||||
lutinMultiprocess.un_init()
|
|
||||||
|
|
||||||
"""
|
|
||||||
When the user use with make.py we initialise ourself
|
|
||||||
"""
|
|
||||||
if __name__ == '__main__':
|
|
||||||
debug.verbose("Use Make as a make stadard")
|
|
||||||
sys.path.append(lutinTools.get_run_folder())
|
|
||||||
debug.verbose(" try to impoert module 'lutinBase.py'")
|
|
||||||
if os.path.exists("lutinBase.py" )==True:
|
|
||||||
__import__("lutinBase")
|
|
||||||
else:
|
|
||||||
debug.debug("missing file lutinBase.py ==> loading subPath...");
|
|
||||||
# Import all sub path without out and archive
|
|
||||||
for folder in os.listdir("."):
|
|
||||||
if os.path.isdir(folder)==True:
|
|
||||||
if folder.lower()!="android" \
|
|
||||||
and folder.lower()!="archive" \
|
|
||||||
and folder.lower()!="out" :
|
|
||||||
debug.debug("Automatic load path: '" + folder + "'")
|
|
||||||
lutinBuilder.import_path(folder)
|
|
||||||
lutinModule.import_path(folder)
|
|
||||||
lutinSystem.import_path(folder)
|
|
||||||
lutinTarget.import_path(folder)
|
|
||||||
#lutinSystem.display()
|
|
||||||
lutinBuilder.init()
|
|
||||||
Start()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
41
lutin/__init__.py
Executable file
41
lutin/__init__.py
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# now import other standard module (must be done here and not before ...
|
||||||
|
from . import target
|
||||||
|
from . import builder
|
||||||
|
from . import system
|
||||||
|
from . import host
|
||||||
|
from . import tools
|
||||||
|
from . import debug
|
||||||
|
from . import module
|
||||||
|
|
||||||
|
is_init = False
|
||||||
|
|
||||||
|
if is_init == False:
|
||||||
|
"""
|
||||||
|
When the user use with make.py we initialise ourself
|
||||||
|
"""
|
||||||
|
debug.verbose("Use Make as a make stadard")
|
||||||
|
sys.path.append(tools.get_run_folder())
|
||||||
|
|
||||||
|
debug.debug("missing file lutinBase.py ==> loading subPath...");
|
||||||
|
# Import all sub path without out and archive
|
||||||
|
for folder in os.listdir("."):
|
||||||
|
if os.path.isdir(folder)==True:
|
||||||
|
if folder.lower()!="android" \
|
||||||
|
and folder.lower()!="archive" \
|
||||||
|
and folder.lower()!="out" :
|
||||||
|
debug.debug("Automatic load path: '" + folder + "'")
|
||||||
|
builder.import_path(folder)
|
||||||
|
module.import_path(folder)
|
||||||
|
system.import_path(folder)
|
||||||
|
target.import_path(folder)
|
||||||
|
|
||||||
|
builder.init()
|
||||||
|
|
||||||
|
is_init = True
|
||||||
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
|||||||
##
|
##
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
|
|
||||||
class ArgElement:
|
class ArgElement:
|
||||||
def __init__(self, option, value=""):
|
def __init__(self, option, value=""):
|
@ -11,14 +11,14 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import inspect
|
import inspect
|
||||||
import fnmatch
|
import fnmatch
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import lutinHeritage as heritage
|
from . import heritage
|
||||||
import datetime
|
import datetime
|
||||||
import lutinTools
|
from . import tools as lutinTools
|
||||||
import lutinModule
|
from . import module as lutinModule
|
||||||
import lutinSystem
|
from . import system as lutinSystem
|
||||||
import lutinImage
|
from . import image as lutinImage
|
||||||
import lutinHost
|
from . import host as lutinHost
|
||||||
|
|
||||||
##
|
##
|
||||||
## constitution of dictionnary:
|
## constitution of dictionnary:
|
@ -8,7 +8,7 @@
|
|||||||
##
|
##
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import lutinMultiprocess
|
from . import multiprocess as lutinMultiprocess
|
||||||
import threading
|
import threading
|
||||||
import re
|
import re
|
||||||
|
|
@ -8,8 +8,8 @@
|
|||||||
##
|
##
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import lutinEnv as environement
|
from . import env as environement
|
||||||
|
|
||||||
|
|
||||||
def need_re_build(dst, src, dependFile=None, file_cmd="", cmdLine=""):
|
def need_re_build(dst, src, dependFile=None, file_cmd="", cmdLine=""):
|
@ -7,7 +7,7 @@
|
|||||||
## @license APACHE v2.0 (see license file)
|
## @license APACHE v2.0 (see license file)
|
||||||
##
|
##
|
||||||
|
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import copy
|
import copy
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
|
|
||||||
|
|
||||||
def append_to_list(listout, list):
|
def append_to_list(listout, list):
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import sys
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
|
|
||||||
# print os.name # ==> 'posix'
|
# print os.name # ==> 'posix'
|
||||||
if platform.system() == "Linux":
|
if platform.system() == "Linux":
|
@ -7,12 +7,13 @@
|
|||||||
## @license APACHE v2.0 (see license file)
|
## @license APACHE v2.0 (see license file)
|
||||||
##
|
##
|
||||||
|
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import lutinTools as tools
|
from . import tools
|
||||||
import platform
|
import platform
|
||||||
import os
|
import os
|
||||||
import lutinMultiprocess
|
from . import multiprocess as lutinMultiprocess
|
||||||
import lutinDepend as dependency
|
from . import depend as dependency
|
||||||
|
|
||||||
enableResizeImage = True
|
enableResizeImage = True
|
||||||
try:
|
try:
|
||||||
if platform.system() == "Darwin":
|
if platform.system() == "Darwin":
|
@ -11,15 +11,15 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import inspect
|
import inspect
|
||||||
import fnmatch
|
import fnmatch
|
||||||
import lutinModule as module
|
from . import module
|
||||||
import lutinHost as host
|
from . import host
|
||||||
import lutinTools
|
from . import tools as lutinTools
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import lutinHeritage as heritage
|
from . import heritage
|
||||||
import lutinDepend as dependency
|
from . import depend as dependency
|
||||||
import lutinBuilder as builder
|
from . import builder
|
||||||
import lutinMultiprocess
|
from . import multiprocess as lutinMultiprocess
|
||||||
import lutinEnv
|
from . import env as lutinEnv
|
||||||
|
|
||||||
class Module:
|
class Module:
|
||||||
|
|
@ -8,7 +8,6 @@
|
|||||||
##
|
##
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import lutinDebug as debug
|
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import sys
|
import sys
|
||||||
@ -18,9 +17,10 @@ else:
|
|||||||
import Queue as queue
|
import Queue as queue
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import lutinTools
|
|
||||||
import lutinEnv
|
|
||||||
import shlex
|
import shlex
|
||||||
|
from . import debug
|
||||||
|
from . import tools as lutinTools
|
||||||
|
from . import env as lutinEnv
|
||||||
|
|
||||||
queueLock = threading.Lock()
|
queueLock = threading.Lock()
|
||||||
workQueue = queue.Queue()
|
workQueue = queue.Queue()
|
@ -11,12 +11,12 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import inspect
|
import inspect
|
||||||
import fnmatch
|
import fnmatch
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import datetime
|
import datetime
|
||||||
import lutinTools
|
from . import tools as lutinTools
|
||||||
import lutinModule as module
|
from . import module
|
||||||
import lutinImage
|
from . import image as lutinImage
|
||||||
import lutinHost
|
from . import host as lutinHost
|
||||||
|
|
||||||
class System:
|
class System:
|
||||||
def __init__(self):
|
def __init__(self):
|
@ -11,15 +11,15 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import inspect
|
import inspect
|
||||||
import fnmatch
|
import fnmatch
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import lutinHeritage as heritage
|
from . import heritage
|
||||||
import datetime
|
import datetime
|
||||||
import lutinTools
|
from . import tools as lutinTools
|
||||||
import lutinModule
|
from . import module as lutinModule
|
||||||
import lutinSystem
|
from . import system as lutinSystem
|
||||||
import lutinImage
|
from . import image as lutinImage
|
||||||
import lutinHost
|
from . import host as lutinHost
|
||||||
import lutinMultiprocess as multiprocess
|
from . import multiprocess
|
||||||
|
|
||||||
class Target:
|
class Target:
|
||||||
def __init__(self, name, config, arch):
|
def __init__(self, name, config, arch):
|
||||||
@ -436,6 +436,7 @@ def load_target(name, config):
|
|||||||
#create the target
|
#create the target
|
||||||
tmpTarget = theTarget.Target(config)
|
tmpTarget = theTarget.Target(config)
|
||||||
return tmpTarget
|
return tmpTarget
|
||||||
|
raise KeyError("No entry for : " + name)
|
||||||
|
|
||||||
def list_all_target():
|
def list_all_target():
|
||||||
global targetList
|
global targetList
|
@ -10,10 +10,10 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import errno
|
import errno
|
||||||
import lutinDebug as debug
|
from . import debug
|
||||||
import fnmatch
|
import fnmatch
|
||||||
import lutinMultiprocess
|
from . import multiprocess as lutinMultiprocess
|
||||||
import lutinDepend as dependency
|
from . import depend as dependency
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
@ -6,12 +6,13 @@
|
|||||||
##
|
##
|
||||||
## @license APACHE v2.0 (see license file)
|
## @license APACHE v2.0 (see license file)
|
||||||
##
|
##
|
||||||
import lutinDebug as debug
|
|
||||||
import lutinTools as tools
|
|
||||||
import platform
|
import platform
|
||||||
import os
|
import os
|
||||||
import zipfile
|
import zipfile
|
||||||
|
|
||||||
|
from . import debug
|
||||||
|
from . import tools
|
||||||
|
|
||||||
|
|
||||||
def create_zip(path, outputFile):
|
def create_zip(path, outputFile):
|
||||||
debug.debug("Create Zip : '" + outputFile + "'")
|
debug.debug("Create Zip : '" + outputFile + "'")
|
||||||
@ -26,14 +27,4 @@ def create_zip(path, outputFile):
|
|||||||
zf.write(file, file[basePathlen:])
|
zf.write(file, file[basePathlen:])
|
||||||
zf.close()
|
zf.close()
|
||||||
|
|
||||||
"""
|
|
||||||
print('creating archive')
|
|
||||||
zf = zipfile.ZipFile('zipfile_write.zip', mode='w')
|
|
||||||
try:
|
|
||||||
print('adding README.md')
|
|
||||||
zf.write('README.md')
|
|
||||||
finally:
|
|
||||||
print('closing')
|
|
||||||
zf.close()
|
|
||||||
"""
|
|
||||||
|
|
13
setup.py
Executable file
13
setup.py
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
from setuptools import setup
|
||||||
|
|
||||||
|
setup(name='lutin',
|
||||||
|
version='0.5.0',
|
||||||
|
description='Lutin generic builder',
|
||||||
|
url='http://github.com/HeeroYui/lutin',
|
||||||
|
author='Edouard DUPIN',
|
||||||
|
author_email='yui.heero@gmail.com',
|
||||||
|
license='APACHE-2',
|
||||||
|
packages=['lutin'],
|
||||||
|
scripts=['bin/lutin'],
|
||||||
|
zip_safe=False)
|
Loading…
x
Reference in New Issue
Block a user