From 343f717c1d03b99cc25e27402cefddf6860525f6 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 21 Dec 2008 06:58:32 -0800 Subject: Adding the glue system for OpenGL - this time, it should work properly. --- src/generate-gl-glue.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 src/generate-gl-glue.sh (limited to 'src') diff --git a/src/generate-gl-glue.sh b/src/generate-gl-glue.sh new file mode 100755 index 0000000..b5ba951 --- /dev/null +++ b/src/generate-gl-glue.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +base="/Users/pixel/sources/Mesa-7.2/include/GL" + +files="gl.h glu.h" + +os=`uname` + +for f in $files ; do cat $base/$f ; done | + grep ^GLAPI.*ENTRY | + sed 's/GLAPI\ .*\ .*ENTRY\ \([^\ ]*\)\ *(.*/\1/' | + grep -v MESA\$ | + grep -v ATI\$ | + grep -v EXT\$ | + sort -u > tmp-symbol-list.txt + +echo ".text" + +if [ "$os" == "Darwin" ] ; then +cat tmp-symbol-list.txt | while read symbol ; do + echo ".globl _m$symbol" + echo "_m$symbol:" + echo "jmp L_$symbol\$stub" +done + +echo ".section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5" + +cat tmp-symbol-list.txt | while read symbol ; do + echo "L_$symbol\$stub:" + echo ".indirect_symbol _$symbol" + echo "hlt; hlt; hlt; hlt; hlt;" +done + +echo ".subsections_via_symbols" + +else + +cat tmp-symbol-list.txt | while read symbol ; do + echo ".globl m$symbol" + echo ".type m$symbol, @function" + echo "jmp $symbol" + echo ".size m$symbol, .-m$symbol" +done + +fi + +rm tmp-symbol-list.txt -- cgit v1.2.3