[DEV] try to remove dependency on STL

This commit is contained in:
Edouard DUPIN 2017-09-07 23:35:23 +02:00
parent 03742be308
commit 0946252a10
12 changed files with 60 additions and 51 deletions

View File

@ -575,7 +575,7 @@ class Module:
# ----------------------------------------------------
# -- Generic library help --
# ----------------------------------------------------
package_version_string = tools.version_to_string(self._package_prop["VERSION"]);
package_version_string = tools.version_toString(self._package_prop["VERSION"]);
if self._type == 'DATA':
debug.print_element("Data", self._name, "-", package_version_string)
elif self._type == 'PREBUILD':

View File

@ -95,6 +95,8 @@ class Target:
self.add_flag("c++", "-Wno-undefined-var-template")
self.add_flag("c", "-nodefaultlibs")
self.add_flag("c++", "-nostdlib")
#self.add_flag("c", "-nostdinc") #ignores standard C include directories
#self.add_flag("c++", "-nostdinc++") #ignores standard C++ include directories
self.add_flag("ar", 'rcs')
if self._name == "Windows":
@ -1033,7 +1035,7 @@ class Target:
debug.debug("make_package_generic_files [START]")
## Create version file:
ret_version = tools.file_write_data(os.path.join(path_package, self.pkg_path_version_file),
tools.version_to_string(pkg_properties["VERSION"]),
tools.version_toString(pkg_properties["VERSION"]),
only_if_new=True)
## Create maintainer file:

View File

@ -71,7 +71,7 @@ def file_read_data(path, binary=False):
file.close()
return data_file
def version_to_string(version):
def version_toString(version):
version_ID = ""
for id in version:
if len(version_ID) != 0:

View File

@ -22,6 +22,7 @@ class System(system.System):
self.set_valid(True)
if env.get_isolate_system() == False:
# We must have it ... all time
self.add_flag("c-remove", "-nostdinc")
pass
else:
# grep "This file is part of the GNU C Library" /usr/include/*
@ -149,7 +150,7 @@ class System(system.System):
self.add_header_file([
"/usr/include/linux/*",
],
destination_path="linux",
destination_path="",
recursive=True)
self.add_header_file([
"/usr/include/asm/*",
@ -171,5 +172,11 @@ class System(system.System):
],
destination_path="net",
recursive=True)
# remove dependency of libc to lib std c++ when compile with g++
#self.add_header_file([
# "stdarg.h",
# ],
# destination_path="",
# recursive=True)
self.add_flag("link", "-B/usr/lib")

0
lutin/z_system/stdarg.h Normal file
View File

View File

@ -245,7 +245,7 @@ class Target(target.Target):
def make_package_binary(self, pkg_name, pkg_properties, base_pkg_path, heritage_list, static):
debug.debug("------------------------------------------------------------------------")
debug.info("Generate package '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.info("Generate package '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = self.get_staging_path(pkg_name)

View File

@ -57,7 +57,7 @@ class Target(lutinTarget_Linux.Target):
# http://alp.developpez.com/tutoriels/debian/creer-paquet/
debianpkg_name = re.sub("_", "-", pkg_name)
debug.debug("------------------------------------------------------------------------")
debug.info("Generate generic '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.info("Generate generic '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = os.path.join(self.get_staging_path(pkg_name), pkg_name + ".app")
@ -106,7 +106,7 @@ class Target(lutinTarget_Linux.Target):
tools.create_directory_of_file(finalFileControl)
tmpFile = open(finalFileControl, 'w')
tmpFile.write("Package: " + debianpkg_name + "\n")
tmpFile.write("Version: " + tools.version_to_string(pkg_properties["VERSION"]) + "\n")
tmpFile.write("Version: " + tools.version_toString(pkg_properties["VERSION"]) + "\n")
tmpFile.write("Section: " + self.generate_list_separate_coma(pkg_properties["SECTION"]) + "\n")
tmpFile.write("Priority: " + pkg_properties["PRIORITY"] + "\n")
tmpFile.write("Architecture: all\n")

View File

@ -103,7 +103,7 @@ class Target(target.Target):
def make_package_binary(self, pkg_name, pkg_properties, base_pkg_path, heritage_list, static):
debug.debug("------------------------------------------------------------------------")
debug.info("Generate package '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.info("Generate package '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = os.path.join(self.get_staging_path(pkg_name), pkg_name + ".app")
@ -171,55 +171,55 @@ class Target(target.Target):
data_file += "<plist version=\"1.0\">\n"
data_file += " <dict>\n"
data_file += " <key>CFBundleDevelopmentRegion</key>\n"
data_file += " <string>en</string>\n"
data_file += " <etk/String.hpp>en</string>\n"
data_file += " <key>CFBundleDisplayName</key>\n"
data_file += " <string>" + pkg_properties["NAME"] + "</string>\n"
data_file += " <etk/String.hpp>" + pkg_properties["NAME"] + "</string>\n"
data_file += " <key>CFBundleExecutable</key>\n"
data_file += " <string>" + pkg_name + "</string>\n"
data_file += " <etk/String.hpp>" + pkg_name + "</string>\n"
data_file += " <key>CFBundleIdentifier</key>\n"
data_file += " <string>com." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n"
data_file += " <etk/String.hpp>com." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n"
data_file += " <key>CFBundleIconFiles</key>\n"
data_file += " <array>\n"
data_file += " <string>Icon-60@2x.png</string>\n"
data_file += " <string>Icon-76.png</string>\n"
data_file += " <string>Icon-76@2x.png</string>\n"
data_file += " <string>Icon-Small-40.png</string>\n"
data_file += " <string>Icon-Small-40@2x.png</string>\n"
data_file += " <string>Icon-Small.png</string>\n"
data_file += " <string>Icon-Small@2x.png</string>\n"
data_file += " <string>iTunesArtwork.png</string>\n"
data_file += " <string>iTunesArtwork@2x.png</string>\n"
data_file += " <etk/String.hpp>Icon-60@2x.png</string>\n"
data_file += " <etk/String.hpp>Icon-76.png</string>\n"
data_file += " <etk/String.hpp>Icon-76@2x.png</string>\n"
data_file += " <etk/String.hpp>Icon-Small-40.png</string>\n"
data_file += " <etk/String.hpp>Icon-Small-40@2x.png</string>\n"
data_file += " <etk/String.hpp>Icon-Small.png</string>\n"
data_file += " <etk/String.hpp>Icon-Small@2x.png</string>\n"
data_file += " <etk/String.hpp>iTunesArtwork.png</string>\n"
data_file += " <etk/String.hpp>iTunesArtwork@2x.png</string>\n"
data_file += " </array>\n"
data_file += " <key>CFBundleInfoDictionaryVersion</key>\n"
data_file += " <string>6.0</string>\n"
data_file += " <etk/String.hpp>6.0</string>\n"
data_file += " <key>CFBundleName</key>\n"
data_file += " <string>" + pkg_name + "</string>\n"
data_file += " <etk/String.hpp>" + pkg_name + "</string>\n"
data_file += " <key>CFBundlePackageType</key>\n"
data_file += " <string>APPL</string>\n"
data_file += " <etk/String.hpp>APPL</string>\n"
data_file += " <key>CFBundleSignature</key>\n"
data_file += " <string>????</string>\n"
data_file += " <etk/String.hpp>????</string>\n"
data_file += " <key>CFBundleSupportedPlatforms</key>\n"
data_file += " <array>\n"
data_file += " <string>iPhoneSimulator</string>\n"
data_file += " <etk/String.hpp>iPhoneSimulator</string>\n"
data_file += " </array>\n"
data_file += " \n"
data_file += " <key>CFBundleShortVersionString</key>\n"
data_file += " <string>"+tools.version_to_string(pkg_properties["VERSION"])+"</string>\n"
data_file += " <etk/String.hpp>"+tools.version_toString(pkg_properties["VERSION"])+"</string>\n"
data_file += " <key>CFBundleVersion</key>\n"
data_file += " <string>"+str(pkg_properties["VERSION_CODE"])+"</string>\n"
data_file += " <etk/String.hpp>"+str(pkg_properties["VERSION_CODE"])+"</string>\n"
data_file += " \n"
data_file += " <key>CFBundleResourceSpecification</key>\n"
data_file += " <string>ResourceRules.plist</string>\n"
data_file += " <etk/String.hpp>ResourceRules.plist</string>\n"
if self.get_simulation() == False:
data_file += " <key>LSRequiresIPhoneOS</key>\n"
data_file += " <true/>\n"
else:
data_file += " <key>DTPlatformName</key>\n"
data_file += " <string>iphonesimulator</string>\n"
data_file += " <etk/String.hpp>iphonesimulator</string>\n"
data_file += " <key>DTSDKName</key>\n"
data_file += " <string>iphonesimulator7.0</string>\n"
data_file += " <etk/String.hpp>iphonesimulator7.0</string>\n"
data_file += " \n"
data_file += " <key>UIDeviceFamily</key>\n"
data_file += " <array>\n"
@ -228,23 +228,23 @@ class Target(target.Target):
data_file += " </array>\n"
data_file += " <key>UIRequiredDeviceCapabilities</key>\n"
data_file += " <array>\n"
data_file += " <string>armv7</string>\n"
data_file += " <etk/String.hpp>armv7</string>\n"
data_file += " </array>\n"
data_file += " <key>UIStatusBarHidden</key>\n"
data_file += " <true/>\n"
data_file += " <key>UISupportedInterfaceOrientations</key>\n"
data_file += " <array>\n"
data_file += " <string>UIInterfaceOrientationPortrait</string>\n"
data_file += " <string>UIInterfaceOrientationPortraitUpsideDown</string>\n"
data_file += " <string>UIInterfaceOrientationLandscapeLeft</string>\n"
data_file += " <string>UIInterfaceOrientationLandscapeRight</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationPortrait</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationPortraitUpsideDown</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationLandscapeLeft</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationLandscapeRight</string>\n"
data_file += " </array>\n"
data_file += " <key>UISupportedInterfaceOrientations~ipad</key>\n"
data_file += " <array>\n"
data_file += " <string>UIInterfaceOrientationPortrait</string>\n"
data_file += " <string>UIInterfaceOrientationPortraitUpsideDown</string>\n"
data_file += " <string>UIInterfaceOrientationLandscapeLeft</string>\n"
data_file += " <string>UIInterfaceOrientationLandscapeRight</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationPortrait</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationPortraitUpsideDown</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationLandscapeLeft</string>\n"
data_file += " <etk/String.hpp>UIInterfaceOrientationLandscapeRight</string>\n"
data_file += " </array>\n"
data_file += " </dict>\n"
data_file += "</plist>\n"
@ -352,12 +352,12 @@ class Target(target.Target):
tmpFile.write("<plist version=\"1.0\">\n")
tmpFile.write(" <dict>\n")
tmpFile.write(" <key>application-identifier</key>\n")
tmpFile.write(" <string>" + pkg_properties["APPLE_APPLICATION_IOS_ID"] + "." + pkg_properties["COMPAGNY_TYPE"] + "." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n")
tmpFile.write(" <etk/String.hpp>" + pkg_properties["APPLE_APPLICATION_IOS_ID"] + "." + pkg_properties["COMPAGNY_TYPE"] + "." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n")
tmpFile.write(" <key>get-task-allow</key>\n")
tmpFile.write(" <true/>\n")
tmpFile.write(" <key>keychain-access-groups</key>\n")
tmpFile.write(" <array>\n")
tmpFile.write(" <string>" + pkg_properties["APPLE_APPLICATION_IOS_ID"] + "." + pkg_properties["COMPAGNY_TYPE"] + "." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n")
tmpFile.write(" <etk/String.hpp>" + pkg_properties["APPLE_APPLICATION_IOS_ID"] + "." + pkg_properties["COMPAGNY_TYPE"] + "." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n")
tmpFile.write(" </array>\n")
tmpFile.write(" </dict>\n")
tmpFile.write("</plist>\n")

View File

@ -86,7 +86,7 @@ class Target(target.Target):
"""
def make_package_binary(self, pkg_name, pkg_properties, base_pkg_path, heritage_list, static):
debug.debug("------------------------------------------------------------------------")
debug.debug("-- Generate generic '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.debug("-- Generate generic '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = os.path.join(self.get_staging_path(pkg_name), pkg_name + ".app")

View File

@ -69,7 +69,7 @@ class Target(target.Target):
def make_package_binary(self, pkg_name, pkg_properties, base_pkg_path, heritage_list, static):
debug.debug("------------------------------------------------------------------------")
debug.info("Generate package '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.info("Generate package '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = os.path.join(self.get_staging_path(pkg_name), pkg_name + ".app/Contents")
@ -111,15 +111,15 @@ class Target(target.Target):
data_file += "<plist version=\"1.0\">\n"
data_file += " <dict>\n"
data_file += " <key>CFBundleExecutableFile</key>\n"
data_file += " <string>"+pkg_name+"</string>\n"
data_file += " <etk/String.hpp>"+pkg_name+"</string>\n"
data_file += " <key>CFBundleName</key>\n"
data_file += " <string>"+pkg_name+"</string>\n"
data_file += " <etk/String.hpp>"+pkg_name+"</string>\n"
data_file += " <key>CFBundleIdentifier</key>\n"
data_file += " <string>" + pkg_properties["COMPAGNY_TYPE"] + "." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n"
data_file += " <etk/String.hpp>" + pkg_properties["COMPAGNY_TYPE"] + "." + pkg_properties["COMPAGNY_NAME2"] + "." + pkg_name + "</string>\n"
data_file += " <key>CFBundleSignature</key>\n"
data_file += " <string>????</string>\n"
data_file += " <etk/String.hpp>????</string>\n"
data_file += " <key>CFBundleIconFile</key>\n"
data_file += " <string>icon.icns</string>\n"
data_file += " <etk/String.hpp>icon.icns</string>\n"
data_file += " </dict>\n"
data_file += "</plist>\n"
data_file += "\n\n"

View File

@ -95,7 +95,7 @@ class Target(lutinTarget_Linux.Target):
"""
def make_package_binary(self, pkg_name, pkg_properties, base_pkg_path, heritage_list, static):
debug.debug("------------------------------------------------------------------------")
debug.debug("-- Generate generic '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.debug("-- Generate generic '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = os.path.join(self.get_staging_path(pkg_name, tmp=True), pkg_name + ".app")

View File

@ -77,7 +77,7 @@ class Target(target.Target):
def make_package_binary(self, pkg_name, pkg_properties, base_pkg_path, heritage_list, static):
debug.debug("------------------------------------------------------------------------")
debug.debug("Generate package '" + pkg_name + "' v" + tools.version_to_string(pkg_properties["VERSION"]))
debug.debug("Generate package '" + pkg_name + "' v" + tools.version_toString(pkg_properties["VERSION"]))
debug.debug("------------------------------------------------------------------------")
#output path
target_outpath = os.path.join(self.get_staging_path(pkg_name, tmp=True), pkg_name + ".app")