Merge branch 'vuplus-1.6k' of code.vuplus.com:/opt/repository/openembedded into vuplu...
[vuplus_openembedded] / recipes / iphone / iphone-sdks_2.2.1.bb
1 DESCRIPTION = "iPhone development headers"
2 SECTION = "libs"
3 PROVIDES = "linux-libc-headers"
4
5 INHIBIT_DEFAULT_DEPS = "1"
6
7 # note: see iphone-sources script to get/generate the tarballs
8 SRC_URI = "\
9         file://iphone-sdks-${PV}.tar.bz2 \
10         \
11         file://cctools-667.8.0.tar.gz \
12         file://CF-476.14.tar.gz \
13         file://configd-210.tar.gz \
14         file://DirectoryService-514.23.tar.gz \
15         file://DiskArbitration-183.tar.gz \
16         file://IOCDStorageFamily-39.tar.gz \
17         file://IODVDStorageFamily-26.tar.gz \
18         file://IOGraphics-193.2.tar.gz \
19         file://IOHIDFamily-258.3.tar.gz \
20         file://IOKitUser-388.2.1.tar.gz \
21         file://IOStorageFamily-88.tar.gz \
22         file://JavaScriptCore-466.1.tar.gz \
23         file://launchd-258.1.tar.gz \
24         file://Libc-498.tar.gz \
25         file://libsecurity_authorization-32564.tar.gz \
26         file://libsecurity_cdsa_client-32432.tar.gz \
27         file://libsecurity_cdsa_utilities-33506.tar.gz \
28         file://libsecurity_cms-32521.tar.gz \
29         file://libsecurity_codesigning-33803.tar.gz \
30         file://libsecurity_cssm-32993.tar.gz \
31         file://libsecurityd-33470.tar.gz \
32         file://libsecurity_keychain-34101.tar.gz \
33         file://libsecurity_mds-32820.tar.gz \
34         file://libsecurity_ssl-32463.tar.gz \
35         file://libsecurity_utilities-32820.tar.gz \
36         file://WebCore-351.9.tar.gz \
37         file://xnu-1228.3.13.tar.gz \
38         file://xnu-1228.7.58.tar.gz \
39 "
40 DARWIN_SOURCES_DIR = "${WORKDIR}"
41 IPHONE_SDK_INC = "${S}/iPhoneOS${PV}.sdk/usr/include"
42 IPHONE_SDK_LIBS = "${S}/iPhoneOS${PV}.sdk/System/Library/Frameworks"
43 LEOPARD_SDK_INC = "${S}/MacOSX10.5.sdk/usr/include"
44 LEOPARD_SDK_LIBS = "${S}/MacOSX10.5.sdk/System/Library/Frameworks"
45
46 do_compile() {
47     find ${WORKDIR} ! -path "${S}/*" -print0 | xargs -0 chmod u+w 
48 }
49
50 # Follows the build routine for the toolchain described by saurik here:
51 # www.saurik.com/id/4
52 do_stage() {
53         install -d ${STAGING_INCDIR}
54
55         echo "Leopard"
56         cd ${STAGING_INCDIR}
57         rm -f System
58         ln -sf . System
59         cp -R -pf "${LEOPARD_SDK_INC}"/* ${STAGING_INCDIR}
60         cp -R -pf "${IPHONE_SDK_INC}"/* ${STAGING_INCDIR}
61         cp -R -pf "${DARWIN_SOURCES_DIR}"/xnu-1228.7.58/osfmk/* .
62         cp -R -pf "${DARWIN_SOURCES_DIR}"/xnu-1228.7.58/bsd/* . 
63
64         echo "mach"
65         cp -R -pf "${DARWIN_SOURCES_DIR}"/cctools-*/include/mach .
66         cp -R -pf "${DARWIN_SOURCES_DIR}"/cctools-*/include/mach-o .
67         cp -R -pf "${IPHONE_SDK_INC}"/mach-o/dyld.h mach-o
68
69         cp -R -pf "${LEOPARD_SDK_INC}"/mach/machine mach
70         cp -R -pf "${LEOPARD_SDK_INC}"/mach/machine.h mach
71         cp -R -pf "${LEOPARD_SDK_INC}"/machine .
72         cp -R -pf "${IPHONE_SDK_INC}"/machine .
73
74         cp -R -pf "${IPHONE_SDK_INC}"/sys/cdefs.h sys
75         cp -R -pf "${LEOPARD_SDK_INC}"/sys/dtrace.h sys
76
77         cp -R -pf "${LEOPARD_SDK_LIBS}"/Kernel.framework/Versions/A/Headers/machine/disklabel.h machine
78         cp -R -pf "${DARWIN_SOURCES_DIR}"/configd-*/dnsinfo/dnsinfo.h .
79         cp -R -p "${DARWIN_SOURCES_DIR}"/Libc-*/include/kvm.h .
80         cp -R -p "${DARWIN_SOURCES_DIR}"/launchd-*/launchd/src/*.h .
81
82         cp -R -p i386/disklabel.h arm
83         cp -R -p mach/i386/machine_types.defs mach/arm
84
85         mkdir -p Kernel
86         echo "libsa"
87         cp -R -p "${DARWIN_SOURCES_DIR}"/xnu-1228.3.13/libsa/libsa Kernel
88
89         mkdir -p Security
90         echo "libsecurity"
91         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_authorization-*/lib/*.h Security
92         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_cdsa_client-*/lib/*.h Security
93         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_cdsa_utilities-*/lib/*.h Security
94         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_cms-*/lib/*.h Security
95         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_codesigning-*/lib/*.h Security
96         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_cssm-*/lib/*.h Security
97         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_keychain-*/lib/*.h Security
98         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_mds-*/lib/*.h Security
99         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_ssl-*/lib/*.h Security
100         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurity_utilities-*/lib/*.h Security
101         cp -R -p "${DARWIN_SOURCES_DIR}"/libsecurityd-*/lib/*.h Security
102
103         mkdir -p DiskArbitration
104         echo "DiskArbitration"
105         cp -R -p "${DARWIN_SOURCES_DIR}"/DiskArbitration-*/DiskArbitration/*.h DiskArbitration
106
107         echo "iokit"
108         cp -R -p "${DARWIN_SOURCES_DIR}"/xnu-*/iokit/IOKit .
109         cp -R -p "${DARWIN_SOURCES_DIR}"/IOKitUser-*/*.h IOKit
110
111         cp -R -p "${DARWIN_SOURCES_DIR}"/IOGraphics-*/IOGraphicsFamily/IOKit/graphics IOKit
112         cp -R -p "${DARWIN_SOURCES_DIR}"/IOHIDFamily-*/IOHIDSystem/IOKit/hidsystem IOKit
113
114         for proj in kext ps pwr_mgt; do
115                 mkdir -p IOKit/"${proj}"
116                 cp -R -p "${DARWIN_SOURCES_DIR}"/IOKitUser-*/"${proj}".subproj/*.h IOKit/"${proj}"
117         done
118     
119         ln -sf IOKit/kext/bootfiles.h .
120
121         mkdir -p IOKit/storage
122         cp -R -p "${DARWIN_SOURCES_DIR}"/IOStorageFamily-*/*.h IOKit/storage
123         cp -R -p "${DARWIN_SOURCES_DIR}"/IOCDStorageFamily-*/*.h IOKit/storage
124         cp -R -p "${DARWIN_SOURCES_DIR}"/IODVDStorageFamily-*/*.h IOKit/storage
125
126         mkdir -p DirectoryService
127         cp -R -p "${DARWIN_SOURCES_DIR}"/DirectoryService-*/APIFramework/*.h DirectoryService
128
129         mkdir -p DirectoryServiceCore
130         cp -R -p "${DARWIN_SOURCES_DIR}"/DirectoryService-*/CoreFramework/Private/*.h DirectoryServiceCore
131         cp -R -p "${DARWIN_SOURCES_DIR}"/DirectoryService-*/CoreFramework/Public/*.h DirectoryServiceCore 
132
133         mkdir -p SystemConfiguration
134         echo "configd"
135         cp -R -p "${DARWIN_SOURCES_DIR}"/configd-*/SystemConfiguration.fproj/*.h SystemConfiguration
136
137         echo "CoreFoundation"
138         mkdir -p CoreFoundation
139         cp -R -p "${LEOPARD_SDK_LIBS}"/CoreFoundation.framework/Versions/A/Headers/* CoreFoundation
140         cp -R -pf "${DARWIN_SOURCES_DIR}"/CF-*/*.h CoreFoundation
141         cp -R -pf "${IPHONE_SDK_LIBS}"/CoreFoundation.framework/Headers/* CoreFoundation
142
143         for framework in AudioToolbox AudioUnit CoreAudio QuartzCore Foundation; do
144                 echo $framework
145                 mkdir -p $framework
146                 cp -R -p "${LEOPARD_SDK_LIBS}"/"${framework}".framework/Versions/?/Headers/* "${framework}"
147                 cp -R -pf "${IPHONE_SDK_LIBS}"/"${framework}".framework/Headers/* "${framework}"
148         done
149
150         for framework in UIKit AddressBook CoreLocation; do
151                 echo $framework
152                 mkdir -p $framework
153                 cp -R -pf "${IPHONE_SDK_LIBS}"/"${framework}".framework/Headers/* "${framework}"
154         done
155
156         for framework in AppKit Cocoa CoreData CoreVideo JavaScriptCore OpenGL WebKit; do
157                 echo $framework
158                 mkdir -p $framework
159                 cp -R -p "${LEOPARD_SDK_LIBS}"/"${framework}".framework/Versions/?/Headers/* $framework
160         done
161         
162         echo "Application Services"
163         mkdir -p ApplicationServices
164         cp -R -p "${LEOPARD_SDK_LIBS}"/ApplicationServices.framework/Versions/A/Headers/* ApplicationServices
165         for service in "${LEOPARD_SDK_LIBS}"/ApplicationServices.framework/Versions/A/Frameworks/*.framework; do
166                 echo -e "\t$(basename $service .framework)"
167                 mkdir -p "$(basename $service .framework)"
168                 cp -R -p $service/Versions/A/Headers/* "$(basename $service .framework)"
169         done
170
171         echo "Core Services"
172         mkdir -p CoreServices
173         cp -R -p "${LEOPARD_SDK_LIBS}"/CoreServices.framework/Versions/A/Headers/* CoreServices
174         for service in "${LEOPARD_SDK_LIBS}"/CoreServices.framework/Versions/A/Frameworks/*.framework; do
175                 mkdir -p "$(basename $service .framework)"
176                 cp -R -p $service/Versions/A/Headers/* "$(basename $service .framework)"
177         done
178
179         echo "WebCore"
180         mkdir -p WebCore
181         cp -R -p "${DARWIN_SOURCES_DIR}"/WebCore-*/bindings/objc/*.h WebCore
182         cp -R -p "${DARWIN_SOURCES_DIR}"/WebCore-*/bridge/mac/*.h WebCore 
183         for subdir in css dom editing history html loader page platform{,/{graphics,text}} rendering; do
184             cp -R -p "${DARWIN_SOURCES_DIR}"/WebCore-*/"${subdir}"/*.h WebCore
185         done
186
187         cp -R -p "${DARWIN_SOURCES_DIR}"/WebCore-*/css/CSSPropertyNames.in WebCore
188         (cd WebCore; perl "${DARWIN_SOURCES_DIR}"/WebCore-*/css/makeprop.pl)
189
190         mkdir -p kjs
191         cp -R -p "${DARWIN_SOURCES_DIR}"/JavaScriptCore-*/kjs/*.h kjs
192
193         mkdir -p wtf/unicode/icu
194         cp -R -p "${DARWIN_SOURCES_DIR}"/JavaScriptCore-*/wtf/*.h wtf
195         cp -R -p "${DARWIN_SOURCES_DIR}"/JavaScriptCore-*/wtf/unicode/*.h wtf/unicode
196         cp -R -p "${DARWIN_SOURCES_DIR}"/JavaScriptCore-*/wtf/unicode/icu/*.h wtf/unicode/icu
197
198         mkdir -p unicode
199         cp -R -p "${DARWIN_SOURCES_DIR}"/JavaScriptCore-*/icu/unicode/*.h unicode
200 }
201