#!/bin/bash

FRAMEWORKS="Carbon OpenGL AGL SystemConfiguration ApplicationServices CoreServices CoreFoundation IOKit"
OUT=/tmp/frameworks

go () {
	local parent=$1
	local fw=$2
	local path="$parent/$fw.framework"
	if [ -d "$path/Headers" ]; then
		mkdir -p "$OUT/$fw"
		cp $path/Headers/*.h "$OUT/$fw"
	fi
	if [ -d "$path/Frameworks" ]; then
		for x in `echo $path/Frameworks/*.framework|sed 's/\/[^ ]*\/\([A-Za-z]*\)\.framework/\1/g;'`; do
			go "$path/Frameworks" $x
		done
	fi
}


for fw in $FRAMEWORKS; do
	go "/System/Library/Frameworks" "$fw"
done

cp $OUT/CoreFoundation/CFBase.h $OUT/CoreFoundation/CFBase.h.old
sed 's,CoreServices/\.\./Frameworks/CarbonCore\.framework/Headers/MacTypes.h,CarbonCore/MacTypes.h,;' \
	< $OUT/CoreFoundation/CFBase.h.old > $OUT/CoreFoundation/CFBase.h

