initial commit

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2025-10-31 23:37:30 +01:00
commit 7228269764
9653 changed files with 4034514 additions and 0 deletions

View File

@@ -0,0 +1,295 @@
#!/usr/bin/python
###############################################################################
# Name: build/osx/fix_xcode_ids.py
# Author: Dimitri Schoolwerth
# Created: 2010-09-08
# Copyright: (c) 2010 wxWidgets team
# Licence: wxWindows licence
###############################################################################
testFixStage = False
import os
import sys
import re
USAGE = """fix_xcode_ids - Modifies an Xcode project in-place to use the same identifiers (based on name) instead of being different on each regeneration"
Usage: fix_xcode_ids xcode_proj_dir"""
# Xcode identifiers (IDs) consist of 24 hexadecimal digits
idMask = "[A-Fa-f0-9]{24}"
idDict = {}
# convert a name to an identifier for Xcode
def toUuid(name):
from uuid import uuid3, UUID
id = uuid3(UUID("349f853c-91f8-4eba-b9b9-5e9f882e693c"), name).hex[:24].upper()
# Some names can appear twice or even more (depending on number of
# targets), make them unique
while id in idDict.values():
id = "%024X" % (int(id, 16) + 1)
return id
def insertBuildFileEntry(filePath, fileRefId):
global strIn
print("\tInsert PBXBuildFile for '%s'..." % filePath)
matchBuildFileSection = re.search("/\* Begin PBXBuildFile section \*/\n", strIn)
dirName, fileName = os.path.split(filePath)
fileInSources = fileName + " in Sources"
id = toUuid(fileInSources)
idDict[id] = id
insert = "\t\t%s /* %s */ = {isa = PBXBuildFile; fileRef = %s /* %s */; };\n" % (
id, fileInSources, fileRefId, fileName)
strIn = strIn[:matchBuildFileSection.end()] + insert + strIn[matchBuildFileSection.end():]
print("OK")
return id
def insertFileRefEntry(filePath, id=0):
global strIn
print("\tInsert PBXFileReference for '%s'..." % filePath)
matchFileRefSection = re.search("/\* Begin PBXFileReference section \*/\n", strIn)
dirName, fileName = os.path.split(filePath)
if id == 0:
id = toUuid(fileName)
idDict[id] = id
insert = "\t\t%s /* %s */ = {isa = PBXFileReference; lastKnownFileType = file; name = %s; path = %s; sourceTree = \"<group>\"; };\n" % (
id, fileName, fileName, filePath)
strIn = strIn[:matchFileRefSection.end()] + insert + strIn[matchFileRefSection.end():]
print("OK")
return id
def insertSourcesBuildPhaseEntry(id, fileName, insertBeforeFileName, startSearchPos=0):
global strIn
print("\tInsert PBXSourcesBuildPhase for '%s'..." % fileName)
matchBuildPhase = re.compile(".+ /\* " + insertBeforeFileName + " in Sources \*/,") \
.search(strIn, startSearchPos)
insert = "\t\t\t\t%s /* %s in Sources */,\n" % (id, fileName)
strIn = strIn[:matchBuildPhase.start()] \
+ insert \
+ strIn[matchBuildPhase.start():]
print("OK")
return matchBuildPhase.start() + len(insert) + len(matchBuildPhase.group(0))
# Detect and fix errors in the project file that might have been introduced.
# Sometimes two source files are concatenated. These are spottable by
# looking for patterns such as "filename.cppsrc/html/"
# Following is a stripped Xcode project containing several problems that
# are solved after finding the error.
strTest = \
"""/* Begin PBXBuildFile section */
95DE8BAB1238EE1800B43069 /* m_fonts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95DE8BAA1238EE1700B43069 /* m_fonts.cpp */; };
95DE8BAC1238EE1800B43069 /* m_fonts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95DE8BAA1238EE1700B43069 /* m_fonts.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
95DE8BAA1238EE1700B43069 /* m_fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = file; name = m_fonts.cpp; path = ../../src/html/m_dflist.cppsrc/html/m_fonts.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
95DE8B831238EE1000B43069 /* html */ = {
isa = PBXGroup;
children = (
95DE8B841238EE1000B43069 /* src/html */,
95DE8BA91238EE1700B43069 /* src/html/m_dflist.cppsrc/html */,
95DE8BCE1238EE1F00B43069 /* src/generic */,
);
name = html;
sourceTree = "<group>";
};
95DE8B841238EE1000B43069 /* src/html */ = {
isa = PBXGroup;
children = (
95DE8B851238EE1000B43069 /* chm.cpp */,
95DE8BAD1238EE1800B43069 /* m_hline.cpp */,
);
name = src/html;
sourceTree = "<group>";
};
95DE8BA91238EE1700B43069 /* src/html/m_dflist.cppsrc/html */ = {
isa = PBXGroup;
children = (
95DE8BAA1238EE1700B43069 /* m_fonts.cpp */,
);
name = src/html/m_dflist.cppsrc/html;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXSourcesBuildPhase section */
404BEE5E10EC83280080E2B8 /* Sources */ = {
files = (
95DE8BAC1238EE1800B43069 /* m_fonts.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2AAC0C405546C1D00DB518D /* Sources */ = {
files = (
95DE8BAB1238EE1800B43069 /* m_fonts.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */"""
# replace all found identifiers with the new ones
def repl(match):
return idDict[match.group(0)]
def processFile(projectFile):
global strIn
fin = open(projectFile, "r")
strIn = fin.read()
fin.close()
strOut = processContent()
fout = open(projectFile, "w", newline="\n")
fout.write(strOut)
fout.close()
def processContent():
global strIn
global idDict
rc = re.compile(".+ (?P<path1>[\w/.]+(\.cpp|\.cxx|\.c))(?P<path2>\w+/[\w/.]+).+")
matchLine = rc.search(strIn)
while matchLine:
line = matchLine.group(0)
# is it a line from the PBXFileReference section containing 2 mixed paths?
# example:
# FEDCBA9876543210FEDCBA98 /* file2.cpp */ = {isa = PBXFileReference; lastKnownFileType = file; name = file2.cpp; path = ../../src/html/file1.cppsrc/html/file2.cpp; sourceTree = "<group>"; };
if line.endswith("};"):
path1 = matchLine.group('path1')
path2 = matchLine.group('path2')
print("Correcting mixed paths '%s' and '%s' at '%s':" % (path1, path2, line))
# if so, make note of the ID used (belongs to path2), remove the line
# and split the 2 paths inserting 2 new entries inside PBXFileReference
fileRefId2 = re.search(idMask, line).group(0)
print("\tDelete the offending PBXFileReference line...")
# delete the PBXFileReference line that was found and which contains 2 mixed paths
strIn = strIn[:matchLine.start()] + strIn[matchLine.end() + 1:]
print("OK")
# insert corrected path1 entry in PBXFileReference
fileRefId1 = insertFileRefEntry(path1)
# do the same for path2 (which already had a ID)
path2Corrected = path2
if path2Corrected.startswith('src'):
path2Corrected = '../../' + path2Corrected
insertFileRefEntry(path2Corrected, fileRefId2)
buildPhaseId = {}
# insert a PBXBuildFile entry, 1 for each target
# path2 already has correct PBXBuildFile entries
targetCount = strIn.count("isa = PBXSourcesBuildPhase")
for i in range(0, targetCount):
buildPhaseId[i] = insertBuildFileEntry(path1, fileRefId1)
fileName1 = os.path.split(path1)[1]
dir2, fileName2 = os.path.split(path2)
# refer to each PBXBuildFile in each PBXSourcesBuildPhase
startSearchIndex = 0
for i in range(0, targetCount):
startSearchIndex = insertSourcesBuildPhaseEntry(buildPhaseId[i], fileName1, fileName2, startSearchIndex)
# insert both paths in the group they belong to
matchGroupStart = re.search("/\* %s \*/ = {" % dir2, strIn)
endGroupIndex = strIn.find("};", matchGroupStart.start())
for matchGroupLine in re.compile(".+" + idMask + " /\* (.+) \*/,").finditer(strIn, matchGroupStart.start(),
endGroupIndex):
if matchGroupLine.group(1) > fileName1:
print("\tInsert paths in PBXGroup '%s', just before '%s'..." % (dir2, matchGroupLine.group(1)))
strIn = strIn[:matchGroupLine.start()] \
+ "\t\t\t\t%s /* %s */,\n" % (fileRefId1, fileName1) \
+ "\t\t\t\t%s /* %s */,\n" % (fileRefId2, fileName2) \
+ strIn[matchGroupLine.start():]
print("OK")
break
elif line.endswith("*/ = {"):
print("Delete invalid PBXGroup starting at '%s'..." % line)
find = "};\n"
endGroupIndex = strIn.find(find, matchLine.start()) + len(find)
strIn = strIn[:matchLine.start()] + strIn[endGroupIndex:]
print("OK")
elif line.endswith(" */,"):
print("Delete invalid PBXGroup child '%s'..." % line)
strIn = strIn[:matchLine.start()] + strIn[matchLine.end() + 1:]
print("OK")
matchLine = rc.search(strIn)
# key = original ID found in project
# value = ID it will be replaced by
idDict = {}
# some of the strings to match to find definitions of Xcode IDs:
# from PBXBuildFile section:
# 0123456789ABCDEF01234567 /* filename.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FEDCBA9876543210FEDCBA98 /* filename.cpp */; };
# from PBXFileReference section:
# FEDCBA9876543210FEDCBA98 /* filename.cpp */ = {isa = PBXFileReference; lastKnownFileType = file; name = any.cpp; path = ../../src/common/filename.cpp; sourceTree = "<group>"; };
# from remaining sections:
# 890123456789ABCDEF012345 /* Name */ = {
# Capture the first comment between /* and */ (file/section name) as a group
rc = re.compile("\s+(" + idMask + ") /\* (.+) \*/ = {.*$", re.MULTILINE)
dict = rc.findall(strIn)
for s in dict:
# s[0] is the original ID, s[1] is the name
assert (not s[0] in idDict)
idDict[s[0]] = toUuid(s[1])
strOut = re.sub(idMask, repl, strIn)
return strOut
if __name__ == '__main__':
if not testFixStage:
if len(sys.argv) < 2:
print(USAGE)
sys.exit(1)
processFile(sys.argv[1] + "/project.pbxproj")
else:
strIn = strTest
print("------------------------------------------")
print(strIn)
strOut = processContent()
print("------------------------------------------")
print(strOut)
exit(1)

View File

@@ -0,0 +1,112 @@
#!/usr/bin/python
import sys
import os
import shutil
import xml.etree.ElementTree as ET
from pbxproj import XcodeProject
from pbxproj.pbxextensions import ProjectFiles
ProjectFiles._FILE_TYPES['.cxx'] = ('sourcecode.cpp.cpp', 'PBXSourcesBuildPhase')
from fix_xcode_ids import processFile
bklfiles = ["../bakefiles/files.bkl", "../bakefiles/zlib.bkl", "../bakefiles/regex.bkl", "../bakefiles/tiff.bkl",
"../bakefiles/png.bkl", "../bakefiles/jpeg.bkl", "../bakefiles/scintilla.bkl", "../bakefiles/lexilla.bkl",
"../bakefiles/expat.bkl", "../bakefiles/webp.bkl"]
nodes = [
# xcode group, entries[], targets []
["base", ["$(BASE_SRC)"], ["dynamic", "static", "base"]],
["base", ["$(BASE_AND_GUI_SRC)"], ["dynamic", "static", "base", "core"]],
["core", ["$(CORE_SRC)"], ["dynamic", "static", "core"]],
["net", ["$(NET_SRC)"], ["dynamic", "static", "net"]],
["adv", ["$(ADVANCED_SRC)"], ["dynamic", "static", "adv"]],
["webview", ["$(WEBVIEW_SRC)"], ["dynamic", "static", "webview"]],
["media", ["$(MEDIA_SRC)"], ["dynamic", "static", "media"]],
["html", ["$(HTML_SRC)"], ["dynamic", "static", "html"]],
["xrc", ["$(XRC_SRC)"], ["dynamic", "static", "xrc"]],
["qa", ["$(QA_SRC)"], ["dynamic", "static", "qa"]],
["xml", ["$(XML_SRC)"], ["dynamic", "static", "xml"]],
["opengl", ["$(OPENGL_SRC)"], ["dynamic", "static", "gl"]],
["aui", ["$(AUI_SRC)"], ["dynamic", "static", "aui"]],
["ribbon", ["$(RIBBON_SRC)"], ["dynamic", "static", "ribbon"]],
["propgrid", ["$(PROPGRID_SRC)"], ["dynamic", "static", "propgrid"]],
["richtext", ["$(RICHTEXT_SRC)"], ["dynamic", "static", "richttext"]],
["stc", ["$(STC_SRC)"], ["dynamic", "static", "stc"]],
["libzlib", ["$(wxzlib)"], ["dynamic", "static", "wxzlib"]],
["libtiff", ["$(wxtiff)"], ["dynamic", "static", "wxtiff"]],
["libjpeg", ["$(wxjpeg)"], ["dynamic", "static", "wxjpeg"]],
["libpng", ["$(wxpng)"], ["dynamic", "static", "wxpng"]],
["libwebp", ["$(wxwebp)"], ["dynamic", "static", "wxwebp"]],
["libregex", ["$(wxregex)"], ["dynamic", "static", "wxregex"]],
["libscintilla", ["$(wxscintilla)"], ["dynamic", "static", "wxscintilla"]],
["liblexilla", ["$(wxlexilla)"], ["dynamic", "static", "wxlexilla"]],
["libexpat", ["$(wxexpat)"], ["dynamic", "static", "wxexpat"]]
]
def addNode(project, groupName, entries, fileGroups, targets):
group = project.get_or_create_group(groupName)
for entry in entries:
if entry.startswith("$("):
varname = entry[2:-1]
addNode(project, groupName, fileGroups[varname], fileGroups, targets)
else:
project.add_file("../../"+entry, parent=group, target_name=targets)
def populateProject(projectfile, fileGroups, nodes):
project = XcodeProject.load(projectfile)
for node in nodes:
groupName = node[0]
entries = node[1]
targets = node[2]
addNode(project, groupName, entries, fileGroups, targets)
project.save()
def parseSources(theName, xmlNode, conditions, fileGroups):
files = xmlNode.text
for ifs in xmlNode.findall("if"):
condition = ifs.attrib['cond']
if condition in conditions:
files += ifs.text
fileList = files.split() if files != None else []
fileGroups[theName] = fileList
def parseFile(bklFile, conditions, fileGroups):
tree = ET.parse(os.path.join(osxBuildFolder, bklFile))
for elem in tree.iter():
if elem.tag == 'set':
theName = elem.attrib['var']
parseSources(theName, elem, conditions, fileGroups)
elif elem.tag == 'lib':
theName = elem.attrib['id']
parseSources(theName, elem.find("sources"), conditions, fileGroups)
def readFilesList(bklFileList, conditions):
fileGroups = {}
for bklFile in bklFileList:
parseFile(bklFile, conditions, fileGroups)
return fileGroups
def makeProject(projectName, conditions):
# make new copy from template
template = os.path.join(osxBuildFolder, projectName + "_in.xcodeproj")
projectFile = os.path.join(osxBuildFolder, projectName + ".xcodeproj")
if os.path.exists(projectFile):
shutil.rmtree(projectFile)
shutil.copytree(template, projectFile)
# read file list from bkls
fileGroups = readFilesList(bklfiles, conditions)
# create xcode project
populateProject(projectFile + "/project.pbxproj", fileGroups, nodes)
processFile(projectFile + "/project.pbxproj")
osxBuildFolder = os.path.dirname(os.path.realpath(__file__))
makeProject("wxcocoa", ["PLATFORM_MACOSX=='1'", "TOOLKIT=='OSX_COCOA'", "WXUNIV=='0'", "USE_GUI=='1' and WXUNIV=='0'"])
makeProject("wxiphone", ["PLATFORM_MACOSX=='1'", "TOOLKIT=='OSX_IPHONE'", "WXUNIV=='0'", "USE_GUI=='1' and WXUNIV=='0'"])

View File

@@ -0,0 +1,28 @@
Updating Library Version Info
-----------------------------
for a new release the wxvers.xcconfig has to be updated accordingly
Building Projects
-----------------
makeprojects.py is a Python 3 script that builds upon pbxproj. It replaces the old
AppleScript that did not work with the current Xcode versions anymore.
The reason for this script is to support a single place of definition for the files needed
for a certain platform by building Xcode projects from the bakefiles files.bkl file list.
It creates new projects from the ..._in.xcodeproj templates in this folder and then
reads in the files lists from the files.bkl in the build/bakefiles directory, evaluates the
conditions in these definitions and then adds the correct files to the newly created Xcode
projects
If you only need a specific target and not all of them (cocoa, iphone) then you can
comment the unneeded makeProject calls.
Prerequisites
-------------
pbxproj (https://github.com/kronenthaler/mod-pbxproj)
Stefan Csomor

View File

@@ -0,0 +1,21 @@
// must be included from the proper toolkit xcconfig
#include "wxvers.xcconfig"
WXPLATFORM = __WXOSX_$(WXTOOLKITUPPER)__
PRODUCT_NAME = wx_osx_$(WXTOOLKIT)
OTHER_CFLAGS = -Wall -Wno-undef -fno-strict-aliasing -fno-common -fvisibility=hidden
OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS) -fvisibility-inlines-hidden -Wno-deprecated-declarations
GCC_PREFIX_HEADER = $(WXROOT)/include/wx/wxprec.h
GCC_PRECOMPILE_PREFIX_HEADER = YES
HEADER_SEARCH_PATHS = "$(WXROOT)/src/tiff/libtiff" "$(WXROOT)/3rdparty/pcre/src/wx" "$(WXROOT)/3rdparty/libwebp/wx" "$(WXROOT)/3rdparty/libwebp/wx/src"
USER_HEADER_SEARCH_PATHS = "$(WXROOT)/include" "$(WXROOT)/build/osx/setup/$(WXTOOLKIT)/include" "$(WXROOT)/src/zlib" "$(WXROOT)/src/jpeg" "$(WXROOT)/src/png" "$(WXROOT)/3rdparty/libwebp" "$(WXROOT)/3rdparty/libwebp/src" "$(WXROOT)/src/expat/expat/lib" "$(WXROOT)/src/tiff/libtiff" "$(WXROOT)/src/stc/lexilla/access" "$(WXROOT)/src/stc/lexilla/include" "$(WXROOT)/src/stc/lexilla/lexlib" "$(WXROOT)/src/stc/scintilla/include" "$(WXROOT)/src/stc/scintilla/src" "$(WXROOT)/3rdparty/pcre/src/wx"
ALWAYS_SEARCH_USER_PATHS = NO
WX_PREPROCESSOR_DEFINITIONS = WXBUILDING $(WXPLATFORM) __WX__ _FILE_OFFSET_BITS=64 _LARGE_FILES MACOS_CLASSIC __WXMAC_XCODE__=1 WX_PRECOMP=1 wxUSE_UNICODE_UTF8=0 wxUSE_UNICODE_WCHAR=1 HAVE_CONFIG_H PNG_NO_CONFIG_H
GCC_PREPROCESSOR_DEFINITIONS = $(WX_PREPROCESSOR_DEFINITIONS)
GCC_PFE_FILE_C_DIALECTS = c++ objective-c++
GCC_C_LANGUAGE_STANDARD = gnu99
CLANG_CXX_LANGUAGE_STANDARD = gnu++11
CLANG_CXX_LIBRARY = libc++

View File

@@ -0,0 +1,20 @@
WXTOOLKIT = cocoa
WXTOOLKITUPPER = COCOA
#include "wx.xcconfig"
MACOSX_DEPLOYMENT_TARGET = 10.10
MACOSX_DEPLOYMENT_TARGET[arch=arm64] = 11.0
GCC_VERSION =
// Set ARCHS explicitly for when Xcode stops targeting x86_64 by default.
// Unknown targets are ignored by Xcode (arm64 requires Xcode 12 or later).
ARCHS = x86_64 arm64
// Using i386 as a target results in a deprecation error since Xcode 10 (first
// a warning in 9). If Xcode 9 or earlier is used and the i386 target is also
// needed, one solution is to enable the following line locally.
//ARCHS = i386 x86_64
OTHER_LDFLAGS = -framework WebKit -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework OpenGL -framework AVFoundation -framework CoreMedia -framework Security -framework QuartzCore -weak_framework AVKit

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:wxcocoa.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0460"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "363401F972C53D8EBD3D4BD9"
BuildableName = "libwx_osx_cocoa.dylib"
BlueprintName = "dynamic"
ReferencedContainer = "container:wxcocoa.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0460"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_cocoa_static.a"
BlueprintName = "static"
ReferencedContainer = "container:wxcocoa.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:wxcocoa.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0460"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "363401F972C53D8EBD3D4BD9"
BuildableName = "libwx_osx_cocoa.dylib"
BlueprintName = "dynamic"
ReferencedContainer = "container:wxcocoa.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0460"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_cocoa_static.a"
BlueprintName = "static"
ReferencedContainer = "container:wxcocoa.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,4 @@
#include "wxcocoa.xcconfig"
PRODUCT_NAME = wx_baseu
GCC_PREPROCESSOR_DEFINITIONS = $(WX_PREPROCESSOR_DEFINITIONS) WXMAKINGDLL_$(TARGET_NAME:upper) wxUSE_BASE=1 wxUSE_GUI=0

View File

@@ -0,0 +1,6 @@
#include "wxcocoa.xcconfig"
// make symbols visible by default
OTHER_CFLAGS = -Wall -Wundef -fno-strict-aliasing -fno-common
PRODUCT_NAME = $(TARGET_NAME)

View File

@@ -0,0 +1,4 @@
#include "wxcocoa.xcconfig"
PRODUCT_NAME = wx_baseu_$(TARGET_NAME)
GCC_PREPROCESSOR_DEFINITIONS = $(WX_PREPROCESSOR_DEFINITIONS) WXMAKINGDLL_$(TARGET_NAME:upper)

View File

@@ -0,0 +1,4 @@
#include "wxcocoa.xcconfig"
PRODUCT_NAME = wx_osx_$(WXTOOLKIT)u_$(TARGET_NAME)
GCC_PREPROCESSOR_DEFINITIONS = $(WX_PREPROCESSOR_DEFINITIONS) WXUSINGDLL WXMAKINGDLL_$(TARGET_NAME:upper)

View File

@@ -0,0 +1,2 @@
GCC_OPTIMIZATION_LEVEL = 0
ONLY_ACTIVE_ARCH = YES

View File

@@ -0,0 +1,8 @@
WXTOOLKIT = iphone
WXTOOLKITUPPER = IPHONE
#include "wx.xcconfig"
ARCHS = $(ARCHS_STANDARD)
SDKROOT = iphoneos
TARGETED_DEVICE_FAMILY = 1,2

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:wxiphone.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_iphone.a"
BlueprintName = "static"
ReferencedContainer = "container:wxiPhone.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_iphone.a"
BlueprintName = "static"
ReferencedContainer = "container:wxiPhone.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_iphone.a"
BlueprintName = "static"
ReferencedContainer = "container:wxiPhone.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,206 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
404BECEE10EBF6330080E2B8 /* wxiphone.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxiphone.xcconfig; sourceTree = "<group>"; };
409120DB13B24EC2004109E0 /* wxdebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxdebug.xcconfig; sourceTree = "<group>"; };
409120DC13B24EC2004109E0 /* wxrelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxrelease.xcconfig; sourceTree = "<group>"; };
AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
D2AAC07E0554694100DB518D /* libwx_osx_iphone.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwx_osx_iphone.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D2AAC07C0554694100DB518D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
034768DFFF38A50411DB9C8B /* Products */ = {
isa = PBXGroup;
children = (
D2AAC07E0554694100DB518D /* libwx_osx_iphone.a */,
);
name = Products;
sourceTree = "<group>";
};
0867D691FE84028FC02AAC07 /* wxiPhone */ = {
isa = PBXGroup;
children = (
0867D69AFE84028FC02AAC07 /* Frameworks */,
034768DFFF38A50411DB9C8B /* Products */,
404BECEE10EBF6330080E2B8 /* wxiphone.xcconfig */,
409120DB13B24EC2004109E0 /* wxdebug.xcconfig */,
409120DC13B24EC2004109E0 /* wxrelease.xcconfig */,
);
name = wxiPhone;
sourceTree = "<group>";
};
0867D69AFE84028FC02AAC07 /* Frameworks */ = {
isa = PBXGroup;
children = (
AACBBE490F95108600F1A2B1 /* Foundation.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
D2AAC07A0554694100DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
D2AAC07D0554694100DB518D /* static */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "static" */;
buildPhases = (
4095368310EBBDC800857D4F /* ShellScript */,
D2AAC07A0554694100DB518D /* Headers */,
D2AAC07B0554694100DB518D /* Sources */,
D2AAC07C0554694100DB518D /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = static;
productName = wxiPhone;
productReference = D2AAC07E0554694100DB518D /* libwx_osx_iphone.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "wxiphone_in" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 0867D691FE84028FC02AAC07 /* wxiPhone */;
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
D2AAC07D0554694100DB518D /* static */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
4095368310EBBDC800857D4F /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${WXROOT}/distrib/mac/pbsetup-sh\" \"${WXROOT}/src\" \"${WXROOT}/build/osx/setup/${WXTOOLKIT}\"";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
D2AAC07B0554694100DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1DEB921F08733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 404BECEE10EBF6330080E2B8 /* wxiphone.xcconfig */;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"$(GCC_PREPROCESSOR_DEFINITIONS)",
"wxUSE_BASE=1",
);
};
name = Debug;
};
1DEB922008733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 404BECEE10EBF6330080E2B8 /* wxiphone.xcconfig */;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"$(GCC_PREPROCESSOR_DEFINITIONS)",
"wxUSE_BASE=1",
);
};
name = Release;
};
1DEB922308733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 409120DB13B24EC2004109E0 /* wxdebug.xcconfig */;
buildSettings = {
WXROOT = "$(PROJECT_DIR)/../..";
};
name = Debug;
};
1DEB922408733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 409120DC13B24EC2004109E0 /* wxrelease.xcconfig */;
buildSettings = {
WXROOT = "$(PROJECT_DIR)/../..";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "static" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB921F08733DC00010E9CD /* Debug */,
1DEB922008733DC00010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "wxiphone_in" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB922308733DC00010E9CD /* Debug */,
1DEB922408733DC00010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:wxiphone.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_iphone.a"
BlueprintName = "static"
ReferencedContainer = "container:wxiPhone.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_iphone.a"
BlueprintName = "static"
ReferencedContainer = "container:wxiPhone.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BAB02EC06578349A9171CCAC"
BuildableName = "libwx_osx_iphone.a"
BlueprintName = "static"
ReferencedContainer = "container:wxiPhone.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1 @@
GCC_OPTIMIZATION_LEVEL = 2

View File

@@ -0,0 +1,4 @@
// update this file with new version numbers
DYLIB_COMPATIBILITY_VERSION = 3.3
DYLIB_CURRENT_VERSION = 3.3.1