gtkglarea-sharp-0.0.17/0000777000175000017500000000000010727463042014306 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/configure.ac0000644000175000017500000001157310711630072016567 0ustar00samsam00000000000000## Bump this for every release AC_INIT([gtkglarea-sharp],[0.0.17]) AC_CANONICAL_SYSTEM AC_SUBST(PROGRAM) ## 1.9 is probably not required. let me know if it effects you ## we're using tar-ustar in case file names get longer than 99 chars AM_INIT_AUTOMAKE([1.9 tar-ustar]) AM_MAINTAINER_MODE ## Don't bump this unless the API changes. API_VERSION=0.0.3.0 AC_SUBST(API_VERSION) AC_MSG_CHECKING([whether we're compiling from an RCS]) if test -f "$srcdir/.cvs_version" ; then from_rcs=cvs else if test -f "$srcdir/.svn" ; then from_rcs=svn else from_rcs=no fi fi AC_MSG_RESULT($from_rcs) AC_PATH_PROG(RUNTIME, mono, no) AC_PATH_PROG(MCS, gmcs, no) if test "x$RUNTIME" = "x" ; then AC_MSG_ERROR([Can't find "mono" in your PATH]) fi if test "x$MCS" = "x" ; then AC_MSG_ERROR([Can't find "gmcs" in your PATH]) fi AC_SUBST(MCS) AC_SUBST(PATH) AC_SUBST(LD_LIBRARY_PATH) dnl Find pkg-config AC_PATH_PROG(PKG_CONFIG, pkg-config, no) if test "x$PKG_CONFIG" = "xno"; then AC_MSG_ERROR([You need to install pkg-config]) fi ## I like the 2.1.0 build of Tao.OpenGl TAO_OPENGL_REQUIRED_VERSION=2.1.0 PKG_CHECK_MODULES(TAO_OPENGL_DEPENDENCIES, tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION, has_tao_opengl=yes, has_tao_opengl=no ) ## Tao 2.1.0 requires generics, so let's say 1.2 MONO_REQUIRED_VERSION=1.2 PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false ) if test "x$has_tao_opengl" = "xno"; then AC_MSG_WARN([Tao.OpenGl not detected; examples will not be built]) else AC_MSG_NOTICE([Tao.OpenGl found; examples will be built]) fi AM_CONDITIONAL(HAS_TAO_OPENGL, test x$has_tao_opengl = xyes) #if test `uname -s` = "Darwin"; then # LIB_PREFIX= # LIB_SUFFIX=.dylib #else LIB_PREFIX=.so LIB_SUFFIX= #fi AC_SUBST(LIB_PREFIX) AC_SUBST(LIB_SUFFIX) AC_SUBST(BASE_DEPENDENCIES_CFLAGS) AC_SUBST(BASE_DEPENDENCIES_LIBS) dnl Find Gtk# GTK_SHARP_REQUIRED_VERSION=1.9.0 PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION, has_gtk_sharp=yes, has_gtk_sharp=no ) if test "x$has_gtk_sharp" = "xyes" ; then AC_SUBST(GTK_SHARP_CFLAGS) AC_SUBST(GTK_SHARP_LIBS) gtk_sharp_enabled=yes else AC_MSG_ERROR([You need to install gtk-sharp-2.0]) fi dnl Find monodoc MONODOC_REQUIRED_VERSION=1.0 AC_SUBST(MONODOC_REQUIRED_VERSION) PKG_CHECK_MODULES(MONODOC_DEPENDENCY, monodoc >= $MONODOC_REQUIRED_VERSION, enable_monodoc=yes, enable_monodoc=no ) if test "x$enable_monodoc" = "xyes"; then AC_PATH_PROG(MONODOC, monodoc, no) if test x$MONODOC = xno; then enable_monodoc=no fi else MONODOC= fi AC_SUBST(MONODOC) AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes") AC_PATH_PROG(GACUTIL, gacutil, no) if test "x$GACUTIL" = "xno" ; then AC_MSG_ERROR([No gacutil tool found]) GACUTIL_FLAGS='' else GACUTIL_FLAGS='/package $(PACKAGE) /gacdir $(DESTDIR)$(prefix)/lib' fi AC_SUBST(GACUTIL) AC_SUBST(GACUTIL_FLAGS) inbuild=no case "$host" in *-*-mingw*|*-*-cygwin*) winbuild=yes AC_PATH_PROG(CODEGEN, gapi_codegen.exe, no) AC_PATH_PROG(FIXUP, gapi-fixup.exe, no) ;; *) AC_PATH_PROG(CODEGEN, gapi2-codegen, no) AC_PATH_PROG(FIXUP, gapi2-fixup, no) ;; esac AM_CONDITIONAL(WINBUILD, test x$winbuild = xyes) dnl Find GAPI GAPI_REQUIRED_VERSION=1.9.0 PKG_CHECK_MODULES(GAPI_DEPENDENCY, gapi-2.0 >= $GAPI_REQUIRED_VERSION, enable_gapi=yes, enable_gapi=no ) if test "x$enable_gapi" = "xyes" ; then if test "x$CODEGEN" != "xno" ; then if test "x$FIXUP" != "xno" ; then has_gapi=yes AC_SUBST(CODEGEN) AC_SUBST(FIXUP) fi fi fi AM_CONDITIONAL(HAS_GAPI, test x$has_gapi = xyes) AC_CONFIG_FILES([ Makefile gtkglarea/gtkglarea-sharp.dll.config gtkglarea/Makefile gtkglarea/AssemblyInfo.cs examples/Makefile examples/rotate-buttons/Makefile examples/glade/Makefile examples/trackball/Makefile examples/util/Makefile examples/shapes/Makefile examples/pick-object/Makefile examples/resources/Makefile examples/NeHe/Makefile examples/NeHe/Lessons/Makefile examples/NeHe/Lessons/01/Makefile examples/NeHe/Lessons/02/Makefile examples/NeHe/Lessons/03/Makefile examples/NeHe/Lessons/04/Makefile examples/NeHe/Lessons/05/Makefile examples/NeHe/Lessons/06/Makefile sources/Makefile gtkglarea-sharp.pc checkbuild.sh ]) # Frickin' annoying. MONO_PATH=$$MONO_PATH MCS_ARGS= RESOURCE_FILES= CLEANFILES= EXTRA_DIST= ASSEMBLY_DEPS= AC_SUBST(MONO_PATH) AC_SUBST(MCS_ARGS) AC_SUBST(RESOURCE_FILES) AC_SUBST(CLEANFILES) AC_SUBST(EXTRA_DIST) AC_SUBST(ASSEMBLY_DEPS) AC_OUTPUT echo "---" echo "Configuration summary for $PACKAGE_NAME" echo "" echo " * Installation prefix: $prefix" echo " * compiler: $MCS" echo " * gtk-sharp-2.0: $gtk_sharp_enabled" echo " * Tao.OpenGl: $has_tao_opengl" echo " * Documentation: $enable_monodoc ($MONODOC)" echo "" echo "---" gtkglarea-sharp-0.0.17/install-sh0000755000175000017500000003160010515602102016271 0ustar00samsam00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: gtkglarea-sharp-0.0.17/sources/0000777000175000017500000000000010727463042015771 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/sources/README0000644000175000017500000000572310705406735016656 0ustar00samsam00000000000000The contents of this directory are (basically) the first step in creating .NET bindings, to libraries based on GObject. QUICK INSTRUCTIONS ------------------ Edit the .metadata file(s), then do a: make get-source-code make api You only have to do a "make get-source-code" once! After you have run "make get-source-code" once, do the following... Edit the .metadata file(s), then do a: make api Note, these instructions only generate XML files in the "api" directory. To turn those XML files (in the "api" directory) into C# code; and then turn that C# code into a .DLL, you'll need to perform extra steps, which are NOT described in this document. (If you are going to create a new .NET binding, then you will need to do more than just this.) WHO USES THE SOURCES DIRECTORY ------------------------------ This directory is essentially the "starting point" in the creation of a .NET binding. Most people can safely ignore it. (If all you want to do is build GtkGlArea#, then you can ignore what's in this directory.) This directory is not part of the normal "build process" for GtkGlArea#. But is instead used by people wishing to update an existing .NET binding; or to create a new .NET binding (for a GObject based library). The result of running "make api" on this directory (once everything is set up) are the XML files that you find in the "api" directory. (Those XML files, that you find in the "api" directory, are then used to generate the C# code. And then that C# code is used to create the various .DLL files.) WHAT'S REQUIRED --------------- Before you can do anything here, you need to get the source code to the various libraries (which you are generating .NET bindings for). And then do a little configuring. (There are two ways to get this source code. As you will see in the next section.) SETTING THINGS UP ----------------- To set things up, you need to get the source code to the libraries listed above. There are two (alternate) methods of doing this. Method 1) Download it. Unpack the source code (if necessary). Then do the extra cofiguration stuff listed above. Method 2) Run: make get-source-code (Method 2 is probably the easiest way to do it for most people. It automatically goes and downloads everything you need. And configures everything for you.) EDITING .METADATA FILES ----------------------- Part of updating a .NET binding involves editing a .metadata file. (Assuming you already have the required source code, to the libraries...) once you update a binding, you then run: make api ...to create the new updated XML file(s) that will be placed in the "api" directory. Refer to the GAPI documents on the mono-project.com web page for more information: http://www.mono-project.com/GAPI gtkglarea-sharp-0.0.17/sources/Makefile.am0000644000175000017500000000370610705406735020031 0ustar00samsam00000000000000PACKAGES = GTKGLAREA GTKGLEXT GTKGLAREA_METADATA=$(top_builddir)/gtkglarea/gtkglarea-sharp.metadata GTKGLEXT_METADATA=$(top_builddir)/gtkglext/gtkglext-sharp.metadata METADATAS = $(GTKGLAREA_METADATA) $(GTKGLEXT_METADATA) GTKGLAREA_RAW_API=$(top_builddir)/gtkglarea/gtkglarea-api.raw GTKGLEXT_RAW_API=$(top_builddir)/gtkglext/gtkglext-api.raw RAW_APIS = $(GTKGLAREA_RAW_API) $(GTKGLEXT_RAW_API) GTKGLAREA_API=$(top_builddir)/gtkglarea/gtkglarea-api.xml GTKGLEXT_API=$(top_builddir)/gtkglext/gtkglext-api.xml APIS = $(GTKGLAREA_API) $(GTKGLEXT_API) GTKGLAREA_SOURCES = gtkglarea-sharp.sources.xml GTKGLEXT_SOURCES = gtkglext-sharp.sources.xml SOURCES = $(GTKGLAREA_SOURCES) $(GTKGLEXT_SOURCES) GTKGLAREA_SOURCEURL = ftp://ftp.gnome.org/pub/GNOME/sources/gtkglarea/1.99 GTKGLEXT_SOURCEURL = http://easynews.dl.sourceforge.net/sourceforge/gtkglext SOURCEURLS = $(GTKGLAREA_SOURCEURL) $(GTKGLEXT_SOURCEURL) GTKGLAREA_TARBALL = gtkglarea-1.99.0.tar.bz2 GTKGLEXT_TARBALL = gtkglext-1.0.6.tar.bz2 TARBALLS = $(GTKGLAREA_TARBALL) $(GTKGLEXT_TARBALL) all: echo "only needed by maintainer" source.stamp: test -f $(GTKGLAREA_TARBALL) || \ wget $(GTKGLAREA_SOURCEURL)/$(GTKGLAREA_TARBALL) \ ) && \ tar xfvj $(GTKGLAREA_TARBALL) && \ test -f $(GTKGLEXT_TARBALL) || \ wget $(GTKGLEXT_SOURCEURL)/$(GTKGLEXT_TARBALL) \ ) && \ tar xfvj $(GTKGLEXT_TARBALL) && \ touch source.stamp api-raw.stamp: source.stamp gapi2-parser $(GTKGLAREA_SOURCES) && \ gapi2-parser $(GTKGLEXT_SOURCES) && \ touch api-raw.stamp pre-api.stamp: api-raw.stamp cp $(GTKGLAREA_RAW_API) $(GTKGLAREA_API) && \ gapi2-fixup --metadata=$(GTKGLAREA_METADATA) --api=$(GTKGLAREA_API) &&\ cp $(GTKGLEXT_RAW_API) $(GTKGLEXT_API) && \ gapi2-fixup --metadata=$(GTKGLEXT_METADATA) --api=$(GTKGLEXT_API) &&\ touch pre-api.stamp api: pre-api.stamp touch api.stamp CLEANFILES = \ api.stamp \ pre-api.stamp \ api-raw.stamp \ source.stamp \ $(APIS) DISTCLEANFILES = \ $(CLEANFILES) EXTRA_DIST = \ $(RAW_APIS) gtkglarea-sharp-0.0.17/sources/Makefile.in0000644000175000017500000002577410711630104020035 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = sources DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = \ api.stamp \ pre-api.stamp \ api-raw.stamp \ source.stamp \ $(APIS) CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = \ $(RAW_APIS) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ PACKAGES = GTKGLAREA GTKGLEXT GTKGLAREA_METADATA = $(top_builddir)/gtkglarea/gtkglarea-sharp.metadata GTKGLEXT_METADATA = $(top_builddir)/gtkglext/gtkglext-sharp.metadata METADATAS = $(GTKGLAREA_METADATA) $(GTKGLEXT_METADATA) GTKGLAREA_RAW_API = $(top_builddir)/gtkglarea/gtkglarea-api.raw GTKGLEXT_RAW_API = $(top_builddir)/gtkglext/gtkglext-api.raw RAW_APIS = $(GTKGLAREA_RAW_API) $(GTKGLEXT_RAW_API) GTKGLAREA_API = $(top_builddir)/gtkglarea/gtkglarea-api.xml GTKGLEXT_API = $(top_builddir)/gtkglext/gtkglext-api.xml APIS = $(GTKGLAREA_API) $(GTKGLEXT_API) GTKGLAREA_SOURCES = gtkglarea-sharp.sources.xml GTKGLEXT_SOURCES = gtkglext-sharp.sources.xml SOURCES = $(GTKGLAREA_SOURCES) $(GTKGLEXT_SOURCES) GTKGLAREA_SOURCEURL = ftp://ftp.gnome.org/pub/GNOME/sources/gtkglarea/1.99 GTKGLEXT_SOURCEURL = http://easynews.dl.sourceforge.net/sourceforge/gtkglext SOURCEURLS = $(GTKGLAREA_SOURCEURL) $(GTKGLEXT_SOURCEURL) GTKGLAREA_TARBALL = gtkglarea-1.99.0.tar.bz2 GTKGLEXT_TARBALL = gtkglext-1.0.6.tar.bz2 TARBALLS = $(GTKGLAREA_TARBALL) $(GTKGLEXT_TARBALL) DISTCLEANFILES = \ $(CLEANFILES) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sources/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu sources/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am all: echo "only needed by maintainer" source.stamp: test -f $(GTKGLAREA_TARBALL) || \ wget $(GTKGLAREA_SOURCEURL)/$(GTKGLAREA_TARBALL) \ ) && \ tar xfvj $(GTKGLAREA_TARBALL) && \ test -f $(GTKGLEXT_TARBALL) || \ wget $(GTKGLEXT_SOURCEURL)/$(GTKGLEXT_TARBALL) \ ) && \ tar xfvj $(GTKGLEXT_TARBALL) && \ touch source.stamp api-raw.stamp: source.stamp gapi2-parser $(GTKGLAREA_SOURCES) && \ gapi2-parser $(GTKGLEXT_SOURCES) && \ touch api-raw.stamp pre-api.stamp: api-raw.stamp cp $(GTKGLAREA_RAW_API) $(GTKGLAREA_API) && \ gapi2-fixup --metadata=$(GTKGLAREA_METADATA) --api=$(GTKGLAREA_API) &&\ cp $(GTKGLEXT_RAW_API) $(GTKGLEXT_API) && \ gapi2-fixup --metadata=$(GTKGLEXT_METADATA) --api=$(GTKGLEXT_API) &&\ touch pre-api.stamp api: pre-api.stamp touch api.stamp # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/mkinstalldirs0000755000175000017500000000370410711630077017111 0ustar00samsam00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" 1>&2 exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # End: # mkinstalldirs ends here gtkglarea-sharp-0.0.17/README0000644000175000017500000000035710705406737015173 0ustar00samsam00000000000000This wrapper is based on gtkglarea 1.99.0. You can get the source from ftp://ftp.gnome.org/pub/GNOME/sources/gtkglarea/1.99/gtkglarea-1.99.0.tar.bz2 Mailing list at: http://lists.colliertech.org/cgi-bin/mailman/listinfo/gtkglarea-dev gtkglarea-sharp-0.0.17/TODO0000644000175000017500000000162610705406737015003 0ustar00samsam00000000000000- GLObjectBase's rotate rendering was broken when the scale issue was resolved. This was probably caused by recent changes to GtkGL.TransformationMatrix GtkGL.GLObjectBase.TransMatrix in examples/util/GLObjectBase.cs - Make a 2-stage build system. One, using autotools and gapi, to create gtkglarea/generated/*.cs and one, using Prebuild, to create various build systems for the widget - make sure the .dll.config file gets installed to the correct directory - in the rotate-buttons example non-numeric values should be stricken and replaced with the previous value - Janne's LWO loader code should be used to create a new example for loading lightwave models - Speak with John Carmack and Id about the potential of letting me use one of their .mdl or .md3 files in a model-loading example - build an extrude example - build an object drag example - build a user-driven cube creation example gtkglarea-sharp-0.0.17/config.guess0000755000175000017500000012706110661211205016616 0ustar00samsam00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-07-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gtkglarea-sharp-0.0.17/Makefile.am0000644000175000017500000000053710705406737016347 0ustar00samsam00000000000000SUBDIRS = gtkglarea sources if HAS_TAO_OPENGL SUBDIRS += examples endif pkgconfigdir = $(prefix)/lib/pkgconfig pkgconfig_DATA = gtkglarea-sharp.pc EXTRA_DIST = \ Makefile.in \ gtkglarea-sharp.pc.in \ README \ AUTHORS \ COPYING \ license \ x11_license \ gtkglarea-sharp.pub \ gtkglarea-sharp.snk DISTCLEANFILES = \ gtkglarea-sharp-2.0.pc gtkglarea-sharp-0.0.17/gtkglext/0000777000175000017500000000000010727463042016137 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/gtkglext/gtkglext-api.raw0000644000175000017500000000000010705406735021236 0ustar00samsam00000000000000gtkglarea-sharp-0.0.17/NEWS0000644000175000017500000000000010705406737014773 0ustar00samsam00000000000000gtkglarea-sharp-0.0.17/gtkglarea-sharp.snk0000644000175000017500000000112410705406737020075 0ustar00samsam00000000000000$RSA2'û7?îq¿³¦¼Ÿ7cCI?BÙß ?çê¶Š™8Ç—ùâÙÁ‡_L©óˆÙ y€ÕÍòDÔ¥š±ÂqT± Ø¡_šá„\è6ˆ*pÒÛuÔ@ßöSTpmY¿LTÇkÔ‹™Yƒ('¶<—„Æ/÷˜G{üÁTp«ø‚F³ßUfLô…ê·ËÓV«Ú¨’›§…¬®aJ]Ç3Ÿºx¾Þ¤Óˆt‘Ô$F¶{„¨¬H¾ýúemÕò·ÏÔ™XÂÓ¹³çá¹}el²oKP¿RG²ƒO‰ÇuµÓç}v,:úZ¸|xñõå.òÙk±ñ5Mü¨‹9úrX]'»Øãª±[(7—*F–T-^ŸÍ fUñ­è«_ÔO0Ô4fG{ ‡Wo“ÒJgÈì¥mOÕy&bŒ”Ãù€î̉ä=±×Yui䞦XýE{Zv¸. ²‘ú1Éz¶#Ûø´‰ ya›JÀžå]”2íç|‹‡õM#ôè4³ÀãèÐNS6ø<åŒSå×v‡5o‡©²"l%Ã-4Ÿ•JO\{ðù³ŒÄh!!ÆIÁ­ý¦l§mÖ{#uîˆðôi‘šŒ~gtkglarea-sharp-0.0.17/COPYING0000644000175000017500000006350010705406737015345 0ustar00samsam00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! gtkglarea-sharp-0.0.17/checkbuild.sh.in0000755000175000017500000000224510705406737017352 0ustar00samsam00000000000000DISTRIBUTOR=cjcollier@colliertech.org KEY_ID=6CC27EA8 KEY_URL1=http://colliertech.org/~cjcollier/gpg/cjcollier.pub KEY_URL2=http://colliertech.com/downloads/cjcollier.pub KEY_URL3=http://svn.myrealbox.com/source/trunk/gtkglarea-sharp/gpg/cjcollier.pub HOST_URL=colliertech.org:/var/www/colliertech.com/htdocs/downloads ./autogen.sh $* if [ $? != 0 ]; then exit fi make dist-bzip2 if [ $? != 0 ]; then exit fi mkdir -p ../tmp pushd ../tmp rm -rf @PACKAGE@-@VERSION@ tar xfj ../@PACKAGE@.build/@PACKAGE@-@VERSION@.tar.bz2 if [ $? != 0 ]; then exit fi cd @PACKAGE@-@VERSION@ if [ $? != 0 ]; then exit fi ./configure $* make if [ $? != 0 ]; then exit fi make uninstall make install if [ $? != 0 ]; then exit fi popd && echo 'Complete!' DISTFILE=@PACKAGE@-@VERSION@.tar.bz2 # #PACKAGE_FILENAME=$DISTFILE PACKAGE_FILENAME=@PACKAGE@-current.tbz echo "cp $DISTFILE $PACKAGE_FILENAME" cp $DISTFILE $PACKAGE_FILENAME PACKAGE_SIGNATURE=@PACKAGE@-current.tbg echo "Signing package" gpg -a -u $KEY_ID -o $PACKAGE_SIGNATURE -s $PACKAGE_FILENAME echo "Pushing package to server" scp $DISTFILE $PACKAGE_FILENAME $PACKAGE_SIGNATURE $HOST_URL/@PACKAGE@/ gtkglarea-sharp-0.0.17/Makefile.in0000644000175000017500000005154210711630104016342 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ @HAS_TAO_OPENGL_TRUE@am__append_1 = examples subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/checkbuild.sh.in \ $(srcdir)/gtkglarea-sharp.pc.in $(top_srcdir)/configure \ AUTHORS COPYING ChangeLog INSTALL NEWS TODO config.guess \ config.sub install-sh missing mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = gtkglarea-sharp.pc checkbuild.sh SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(pkgconfigdir)" pkgconfigDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = gtkglarea sources examples DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = \ Makefile.in \ gtkglarea-sharp.pc.in \ README \ AUTHORS \ COPYING \ license \ x11_license \ gtkglarea-sharp.pub \ gtkglarea-sharp.snk FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gtkglarea sources $(am__append_1) pkgconfigdir = $(prefix)/lib/pkgconfig pkgconfig_DATA = gtkglarea-sharp.pc DISTCLEANFILES = \ gtkglarea-sharp-2.0.pc all: all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) gtkglarea-sharp.pc: $(top_builddir)/config.status $(srcdir)/gtkglarea-sharp.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ checkbuild.sh: $(top_builddir)/config.status $(srcdir)/checkbuild.sh.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-pkgconfigDATA install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pkgconfigDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ dist-shar dist-tarZ dist-zip distcheck distclean \ distclean-generic distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-pkgconfigDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-pkgconfigDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/ChangeLog0000644000175000017500000007647310705406737016101 0ustar00samsam000000000000002007-04-23T06:35 C.J. Adams-Collier * gtkglarea/Makefile.am - removed generated-stamp and generated/* from CLEANFILES - added generated/* and generated-stamp to EXTRA_DIST so that the build no longer requires that the builder have gapi * configure.ac - did a bunch of clean-up * gtkglarea/generated - Added gtkglarea/generated/*.cs to svn so they don't need to be generated * TODO - added some things I'd like to do/see done 2007-04-09T20:54 C.J. Adams-Collier - cleaned up example makefiles using automake's include * examples/.../Makefile.am - re-factored to take advantage of new Include.am files * examples/Include.am - placed common MCS_ARGS, MONO_PATH, CLEANFILES, EXTRA_DIST, $(ASSEMBLY): target, run: target, and all: target here * examples/glade/Include.am, * examples/shapes/Include.am, * examples/util/Include.am - placed MCS_ARGS, MONO_PATH, and RESOURCE_FILES specific to these libs here * README - updated * configure.ac - added AC_SUBST for variables that need to be set for the Include.am files to function correctly - added a HAS_TAO_OPENGL conditional to help decide whether to build examples * Makefile.am - using HAS_TAO_OPENGL to decide whether to build examples/* * gtkglarea/Makefile.am - replaced duplicated strings with variables - cleaned up a bit 2007-04-08T20:32 C.J. Adams-Collier * examples/pick-object/Engine.cs - made comments more specific - cube now throbs, too 2007-04-08T08:56 C.J. Adams-Collier * */Makefile.am - ensured that 'make distcheck' completes successfully - building .dll files for classes used outside of each particular directory and using -lib: and -r: instead of mentioning the .cs explicitly (Teapot.cs, GladeExample.cs, Trackball.cs) - using $(addprefix $(srcdir)/, $(SOURCE_FILES)) instead of $(SOURCE_FILES) so that builddir can differ from srcdir - added *.mdb to CLEANFILES - using -lib:@top_builddir@ instead of -lib:$(top_srcdir) so that source can be built from somewhere other than the source dir * configure.ac - using more modern version of AC_INIT - explicitly using tar-ustar and requiring automake 1.9 - bumped version to 0.0.16 - using AC_CONFIG_FILES to specify files - using non-deprecated AC_OUTPUT macro 2007-04-07T13:39 C.J. Adams-Collier - modified svn:ignore properties * examples/util/GLObjectBase.cs - set defaults for translation matrix values - set defaults for scale matrix values - added some docs describing what trans and scale matrix values are being set to - setting scale matrix correctly * examples/util/GLWidget.cs - replaced iterator with foreach * examples/pick-object/ObjectPickExample.mdp - removed dependency on trackball assembly - replaced Tao.OpenGl 0.0.0.0 and Tao.OpenGl.Glu with Tao.OpenGl 2.1.1.0 * examples/pick-object/Engine.cs - fixed the Throb() method * examples/pick-object/PickWidget.cs - removed Trackball-related code * gtkglarea/Makefile.am - created the generated/ directory at make time - created teh docs/ directory at make time - re-formatted the gtkglarea-sharp.dll mcs line - added a -doc: argument to the mcs line - added a -package: line to the gacutil line * examples/GtkGlAreaSharpExamples.mds - removed LWObjectExample, since it's broken and breaking the build 2007-04-06T15:40 C.J. Adams-Collier - added svn:ignore to all directories * configure.ac - cleaned up MCS definition - fixed the Tao dependency check * examples/NeHe/NeHe.mds - Meh. Attribute order changed by md * */*.mdp - clr-version="Net_2_0" - ensured that the project runs correctly * */Makefile.am - changed mcs to $(MCS) * examples/NeHe/Lessons/*/Makefile.am - changed -pkg:tao-opengl to -pkg:Tao.OpenGl - fixed MONO_PATH to include examples/shapes/ * examples/shapes/Teapot.cs, examples/rotate-buttons/OldTeapot.cs - removed ref attribute from call to gl.glMap2f 2007-03-07 C.J. Adams-Collier Cleaning up build * configure.ac - Tao.Opengl -> Tao.OpenGl * examples/NeHe/Lessons/0*/Lesson0*.cs - renamed window to glwidget 2006-11-10 C.J. Adams-Collier Submission made on behalf of "Nick" * examples/glade/Engine.cs - Added lots of comments - replaced multiple calls to Show() with a single ShowAll() * examples/glade/GladeExample.cs - added [Widget] attributes to Gtk widgets - renamed "window" to "glwidget" to match the .glade file - added lots of comments - added modal dialog thinger * examples/resources/glwidget.glad - added dialog for modal test 2006-10-21 C.J. Adams-Collier * TODO - noted a need to remove hard dependency on Tao.* - also noted that we should build examples if we find Tao.*, otherwise not 2006-06-19T13:57 C.J. Adams-Collier re-factored code under the examples/MdlLoader directory 2006-06-19 C.J. Adams-Collier Overview: This concludes the translation of the C version of Jenkara's mdl loader to C#. To load a given .mdl file, instantiate the MdlLoader and call the Load() method on the object, passing the filename of the data file to load. It won't do anything but print debugging info to STDOUT, but it looks like it correctly reads all the bytes :) * examples/MdlLoader/MdlLoader.cs - made struct members public - created readFrameData(), which reads frame data from the fstream passed as an argument. Number of frames is retrieved from the mdl_t which is also passed as an argument - created readDAliasFrame(), which reads a frame from the fstream passed as an argument - created readDAliasGroup(), which reads a frame group from the fstream passed as an argument - created readTriVertX(), which reads a triangle and light normal index from the fstream passed as an argument 2006-06-18T19:56 C.J. Adams-Collier * examples/MdlLoader/MdlLoader.cs - implemented methods to read the mdl_t struct and texgroup_struct[] array - publicized struct members - created a Mdl class and stub constructor * examples/MdlLoader/Makefile.am - added nowarn for warning #0169 * examples/MdlLoader/Engine.cs - instantiating a Mdl.Mdl class 2006-06-18 C.J. Adams-Collier * examples/MdlLoader - Created a set of build files to get the project off the ground 2006-04-12 C.J. Adams-Collier * examples/util/EulerRotation.cs - Made EulerRotation.GimbalLock.GimbalLock() public * configure.ac - bumped version to 0.0.16 2006-01-25T13:27 C.J. Adams-Collier Overview: Added examples/pick-object and got the pyramid to throb * configure.ac - bumped version - added examples/pick-object/Makefile * TODO - removed some items, added others * checkbuild.sh.in - added pgp key signing - generalized the file a bit * examples/NeHe/Lessons/04/Lesson04.mdp - removed shapes from this project. Getting them from shapes.dll * examples/NeHe/Lessons/04/Makefile.am - corrected a typo * examples/NeHe/Lessons/04/Lesson04.cs - qualified shape names * examples/NeHe/Lessons/05/Lesson05.mdp - removed shapes from this project. Getting them from shapes.dll - added a reference to ShapesExample * examples/NeHe/Lessons/05/Makefile.am - removed shapes * examples/trackball/Makefile.am - added --debug to mcs args - added Teapot.cs from shapes/ - added shapes/ dir to -libs list * examples/trackball/TrackballExample.mdp - added Trackball.cs * examples/GtkGlAreaSharpExamples.mds - added ObjectPickExample and ShapesExample, LWObjectExample * examples/lwo/lw.c - yoinked from gtkglarea * examples/lwo/lw.h - see above * examples/lwo/penguin.lwo - also the same * examples/shapes/ColoredTriangle.cs - changed namespace * examples/shapes/Cube.cs - changed namespace - changed color3f to color4f * examples/shapes/Square.cs - changed namespace * examples/shapes/Triangle.cs - changed namespace * examples/shapes/ColoredSquare.cs - changed namespace * examples/Makefile.am - added the pick-object/ directory to the list of SUBDIRS * examples/rotate-buttons/OldGLObjectBase.cs - tweaked the API so it follows the same API, but doesn't implement much of the functionality. Really, folks... don't use this one. Go with the other one. I should throw NotImplemented exceptions. * examples/pick-object/ObjectPickExample.mdp - created a new MDP * examples/pick-object/Engine.cs - This is where the Throb() method is implemented. It is also where the GL window is instantiated. * examples/pick-object/Makefile.am 2006-01-25 C.J. Adams-Collier Overview: Added beginnings of support for gtkglext in this package * sources/gtkglext-sharp.sources.xml - Added a sources file that describes the code hierarchy * sources/Makefile.am - added the commands and variables for GTKGLEXT * gtkglext/ - created a directory for the generated code to live in 2006-01-12T17:39 C.J. Adams-Collier Overview: Changed internal representation of Translation, Scale and Rotation from Euler Rotation + Quaternion + Rotation Matrix to Quaternion + scale vector + translation vector. I moved the old code into rotate-buttons, which is the only example that relies on internal representation as Euler angles. This change makes NeHe example 4 work correctly * 04/Lesson04.mdp - added Colored*.cs * 04/Makefile.am - added Colored*.cs - added reference to GladeExample.cs - added run: target - using $(SOURCE_FILES) * 04/Lesson04.cs - changed namespace name to NeHe - threw out old code and replaced with the new hotnes from ...-util. Read the diff :) * util/GLObjectBase - re-factored euler rotations out and quaternion + scale, translation vectors in - TransMatrix get{} now constructs a translation matrix from the quat and vectors - all of the set{}s now manipulate quat, translation, and scale - Translate() now manipulates translation - Rotate() methods now convert the passed arg and call the quat version - ResetRotation() sets Quat instead of ERot - GetTransformationMatrix() now returns TransMatrix - Draw now calls glMultMatrixd(this.TransMatrix.Matrix) 2006-01-12 C.J. Adams-Collier Overview: removed lighting from default GtkGL.GLWidget configuration. The examples that use lighting now explicitly turn it on. The GL Window is hidden by default. The examples that use it must explicitly .Show() it. ColoredTriangle and ColoredSquare classes are now fully implemented, and NeHe lesson 03 now uses them. Added the NeHe.mds solution. * 01/Lesson01.cs - re-factored to use GtkGL.GladeExample class for basic class construction * 01/Makefile.am - Added dependancy on GladeExample.cs - added a run target - added $(SOURCE_FILES) to mcs commandline instead of explicitly listing the .cs file * 02/Square.cs - now in the NeHe namespace - Renamed DrawSquare to DrawObject (changed this in GLObjectBase, too) - re-factored common code into GLObjectBase * 02/Lesson02.cs - re-factored common code into GladeExample and GLObjectBase * 02/Makefile.am - added dependency on GladeExample.cs - created run: target * 02/Triangle.cs - see Square.cs * 03/ColoredTriangle - created. Based on 02/Triangle, but colored :) * 03/Lesson03.mdp - added Colored* * 03/Makefile.am - added GladeExample and Colored* to the dependency list - added run: target - now using $(SOURCE_FILES) * 03/Lesson03.cs - see 02/Lesson02.cs * 03/ColoredSquare - see 03/ColoredTriangle * trackball/TrackballExample.cs - now explicitly showing the window and glw * trackball/TrackballWidget.cs - explicitly enabled lighting * trackball/Makefile.am - added the .pidb file to CLEAN targets * rotate-button/RotateButtonExample.cs - explicitly enabled lighting - now explicitly showing the window and glw * glade/GladeExample.mdp - added Engine.cs * glade/Makefile.am - added Engine.cs * glade/GladeExample.cs - re-factored common stuff into GladeExample and specific stuff into Engine * util/Teapot.cs - re-named DrawTeapot to DrawObject in order to make the method more generic - moved common methods into GtkGL.GLObjectBase * util/GLObjectBase.cs - Now firing the Updated handler from here - placed generic Init() method here - Quat is protected - TransMatrix is protected * GLWidget.cs - corrected incorrect comment - moved the Clear command to before the LoadIdentity call - added an EnableLighting method - added an eventHandler to make extending the GL setup easier - moved GL setup into InitGL() 2006-01-11T19:10 C.J. Adams-Collier Overview: Moved Lessons/Lesson0N.* to Lessons/0N/Lesson0N.*, removed excess debug print statements, moved Triangle.cs and Square.cs into NeHe/Lessons/02/ 2006-01-11 C.J. Adams-Collier Overview:Renamed RotationMatrix to TransformationMatrix (I'm thinking of getting rid of the matrix and replacing it with a quaternion for rotation + a vector for scale and a vector for translation). Triangle and Square objects now draw themselves correctly. I've also had a chance to straighten out the IGLObject Translate() methods. * configure.ac - Bumped version * TODO - removed GimbalLock issue from TODO list - added item for re-factoring Euler angles - added item for .mdl / .md3 files * examples/NeHe/Lessons/Lesson01.cs - changed namespace from NeHe.Lesson01 to NeHe - basically replaced with GladeExample code * examples/NeHe/Lessons/Lesson02.cs - changed namespace from NeHe.Lesson02 to NeHe - added Triangle, Square objects. Translated them - removed methods that are implemented in GLObjectBase - added onquit and onwindowdeleteevent methods * examples/NeHe/Lessons/Makefile.am - re-organized sources into SOURCE_FILES - created a MCS_ARGS variable to reduce duplicate code * examples/trackball/TrackballExample.mdp - added resources directory to project * examples/GtkGlAreaSharpExamples.mds - renamed *test to *example - added NeHe project - added GtkGLAreaUtil - added GladeExample * examples/util/TransformationMatrix.cs - renamed from RotationMatrix.cs - added operator *() * examples/util/Teapot.cs - added Translate() methods * examples/util/EulerRotation.cs - renamed rotationmatrix to transformationmatrix * examples/util/IGLObject.cs - added Translate() methods - renamed rotationmatrix to transformationmatrix * examples/util/GLObjectBase.cs - renamed rotationmatrix to transformationmatrix * examples/util/RotationMatrix.cs - renamed to TransformationMatrix.cs * examples/util/Makefile.am - renamed rotationmatrix to transformationmatrix - added Triangle, Square * examples/util/Quaternion.cs - renamed rotationmatrix to transformationmatrix * examples/util/GLWidget.cs - moved the projection translation into the resize handler 2006-01-10 C.J. Adams-Collier Overview: Moved common code into examples/util/ and compiled them down to a gtkglarea-sharp-util.dll file. I added a make run entry for each of the examples, since they require a modification to the MONO_PATH environment variable. 2006-01-09 C.J. Adams-Collier * examples/trackball/Vector.cs - New link to ../rotate-buttons/Vector.cs * examples/trackball/TrackballWidget.cs - removed debug print statements * examples/trackball/Makefile.am - Added Vector.cs * examples/trackball/trackballTest.mdp - re-structured for new code * examples/GtkGlAreaSharpExamples.mds - removed old project - added new projects ! moved common to util: examples/common examples/common/Teapot.cs examples/common/glwidget.glade examples/common/Trackball.cs examples/common/Makefile.am examples/common/GLWidget.cs * examples/rotate-buttons/GLObjectBase.cs - changed += to *= * examples/rotate-buttons/Quaternion.cs - shortened line - changed operator+ to operator* - re-wrote operator* based on Vector code - removed Vector-specific code and placed in Vector.cs * examples/rotate-buttons/Vector.cs - Moved vector-specific code from Quaternion.cs to Vector.cs * examples/resources - created a directory to contain images and glade-ish things * examples/util - renamed common to util 2006-01-06T15:17 C.J. Adams-Collier Overview: Applying new classes from rotate-buttons to this example. Linked to the new class files from ../rotate-buttons and got a compiling version working. Runtime errors, though. * EulerRotation.cs - created link * trackballTest.cs - There is now a class variable called glw - Set glw to a new instance of TrackballWidget - created a new Teapot - added teapot to glw - replaced glw.glArea with glw * IGLObject.cs - created link * TrackballWidget.cs - replaced the float[] quat with a Quaternion - replaced glArea. with this. - placed into the GtkGL. namespace - when OnMotionNotify is called, all glObjects associated with this glArea get Rotate()d - removed onExposed. parent class will handle exposed event. * GLObjectBase.cs - created link * RotationMatrix.cs - created link * Makefile.am - re-structured to be like Makefile.am from ../rotation-buttons/ * Quaternion.cs - created link * GLWidget.cs - created link 2006-01-06T12:06 C.J. Adams-Collier Overview: Fixed EulerRotation.ToRotationMatrix() * examples/rotate-buttons/GLObjectRotationController.cs - remove TODO from GLObjectRotationController.cs (complete) - Created Get*Rotation, for Euler, Quaternion and Matrix - fixed docs * examples/rotate-buttons/ObjectRotationButton.cs - added bools to make sure the handlers aren't connected >1 times * examples/rotate-buttons/RotationMatrix.cs - Added an operator + for RotationMatrix objects * examples/rotate-buttons/GLObjectBase.cs - made setting of euler, matrix, quat an atomic action - cleaned up the Rotate() methods - ResetRotation sets eRot to EulerRotation.Identity() - added Get*Rotation() methods * examples/rotate-buttons/Quaternion.cs - added an Identity property * examples/rotate-buttons/EulerRotation.cs - added Get - cleaned up the null test in operator + - fixed the ToRotationMatrix() method * examples/rotate-buttons/IGLObject.cs - added Get*Rotation to the interface 2006-01-06 C.J. Adams-Collier Overview: GtkGL.Rotation has been deprecated. Now replaced with one of EulerRotation, Quaternion or RotationMatrix. Replacing float variables with double. Let's see how this works... Also, turned on debugging symbols * configure.ac - bumped version to 0.0.8 * checkbuild.sh.in - added command to push new version to colliertech.com/downloads/... * examples/rotate-buttons/GLObjectRotationController.cs - rather than storing a local copy, we get the rotation from the object - using EulerRotation rather than Rotation * examples/rotate-buttons/ObjectRotationButton.cs - removed GtkGL.Rotation and replaced with GtkGL.EulerRotation * examples/rotate-buttons/GLObjectBase.cs - now using a GtkGL.RotationMatrix instead of a float[16] - adding a GtkGL.EulerRotation and GtkGL.Quaternion for flavor - added implementations of Rotate() that accept Quaternion, EulerRotation and RotationMatrix - removed the one that accepts GtkGL.Rotation - ResetRotation sets the rotation to the identity rather than null - GetRotation catches gimbal lock exception - Instead of converting from RotationMatrix, it should return the local EulerRotation object. * examples/rotate-buttons/RotationMatrix.cs - Added file. Represents a Rotation Matrix * examples/rotate-buttons/Quaternion.cs - Added file. Represents a Quaternion * examples/rotate-buttons/EulerRotation.cs Added file. Represents a Euler Rotation * examples/rotate-buttons/Teapot.cs - replaced Rotate() methods with new versions - changed f to d in glMultMatrixf * examples/rotate-buttons/RotationUtil.cs - removed EulerRotation, since there is now a EulerRotation.cs - using Accessors rather than hitting the member variables directly * examples/rotate-buttons/IGLObject.cs - replaced GtkGL.Rotation version of Rotate with Euler, Quat and Matrix * examples/rotate-buttons/Makefile.am - added Euler Quat and Matrix cs files - added -debug to the mcs command line * examples/rotate-buttons/rotateButtonTest.mdp - added Euler Quat and Matrix cs files 2006-01-02 C.J. Adams-Collier Overview: The entry fields may now be used to rotate the object as well as the buttons. They are updated when the buttons are pressed, and if a number is entered into them, the object is rotated to that angle * examples/rotate-buttons/Teapot.cs - added methods to rotate and reset rotation that take a third argument which indicates whether or not the handler should be fired * examples/rotate-buttons/GLObjectRotationController.cs - added lots of documentation - added a method to update the rotation of the object based on the values entered into the entry fields - aligned numbers left - added the UpdateObjectRotation method to the event object's Activated and FocusOutEvent events * examples/rotate-buttons/RotationUtil.cs - documented the EulerRotation struct * examples/rotate-buttons/IGLObject.cs - added the method signatures for optional Updated event firing * examples/rotate-buttons/GLObjectBase.cs - whitespace 2006-01-01 C.J. Adams-Collier Overview: Completed writing code to update the entry fields when the +/- buttons are pressed * examples/NeHe/Lessons/Makefile - Added our build testing script * examples/rotate-buttons/GLObjectRotationController.cs - Added an EulerRotation object to the class to keep track of the rotations represented to the user - re-bound to ObjectRotationButton's Rotated event instead of IGLObject's Updated event - now resetting the Euler rotation values and re-displaying when the reset button is triggered. * examples/rotate-buttons/ObjectRotationButton.cs - made the rotation member public - added a Rotated event ! RotateObjects() - fire the Rotated event after the object has been rotated 2005-12-31T22:46 C.J. Adams-Collier Overview: Entry fields are now filled in when the buttons are pressed. Sort of. There's a gimbal lock error causing strange things to happen. Try it out. Please tell me if you know how to fix it. * rotate-buttons/GLObjectRotationController.cs - Created a Hashtable called entryMap. It maps between the keys, 'x', 'y', and 'z'.and the entry widgets (values) for X, Y and Z rotation, respectively. I think of this as a %hash variable in perl (pseudocode shown here): %entryMap = ( chr('x') => gtkglWidget("X rotation entry widget"), chr('y') => gtkglWidget("Y rotation entry widget"), chr('z') => gtkglWidget("Z rotation entry widget"), ); ! UpdateRotationValues() - This handler is connected to the IGLObject's Updated event - Every time the object fires an Updated event, the Euler rotation angles are calculated from the internal representation of the object's rotation (currently a rotation matrix, possibly in the future a quaternion) and displayed in the appropriate entry widget. ! GLObjectRotationController() - connect afore-mentioned handler to the Updated signal - create afore-mentioned entryMap * rotate-buttons/IGLObject.cs - corrected a comment - add a method to the interface requirements called GetRotation() that returns an euler rotation. Perhaps it should be called getEulerRotation() instead... Please don't consider this part of the API hard and fast. Thanks. * rotate-buttons/GLObjectBase.cs - implemented above-mentioned GetRotation() method in this "base" class * rotate-buttons/Makefile.am - Added RotationUtil.cs and GLObjectRotationController.cs to the prereqs list for rotateButtonTest.exe. I should have caught the latter sooner than I did. But I haven't pushed a build in a while, so it's okay :) - added RotationUtil.cs to the mcs command line * rotate-buttons/rotateButtonTest.mdp - Added RotationUtil.cs to the mdp file 2005-12-31 C.J. Adams-Collier Overview: Created an GLObjectRotationController, which encompases the object rotation UI and the handlers associated with it. This controller contains ObjectRotationButton widgets; a Clockwise and CounterClockwise button for each each axis, X, Y and Z. The GLObjectRotationController class was refactored out of rotateButtonTest.cs and lives in GLObjectRotationController.cs. Also, the object manipulation widgegt was refactored from the glwidget.glade file into its own rotation-controller.glade file * examples/rotate-buttons/Teapot.cs - explicitly specified "new" in method signature. Yes, we know we're overriding. * examples/rotate-buttons/GLObjectRotationController.cs - created this file by refactoring code out of rotateButtonTest.cs * IGLObject.cs: Newline changes * GLObjectBase.cs - swapped rotation directions. Had CC-wise going C-wise and vice versa * Makefile.am - Mentioned new .cs and .glade files * rotateButtonTest.mdp - Mentioned new .cs and .glade files * GLWidget.cs - now using Gtk - AddGLObject(): Added object to list *after* connecting handler - Init(): added some comments - Init(): moved handlers into Init() from connectHandlers() - deleted connectHandlers() - OnSizeAllocated(): added comment, removed newline - OnExposed(): modified comment, removed debugging message - OnRealized(): Added comment, removed debugging message - added OnQuit(), OnWindowDeleteEvent() handlers to the class * rotation-controller.glade: Created * rotateButtonTest.cs - created a member variable for the glw widget - same for GLObjectRotationController object - refactored GLObjectRotationController code into new class - moved GLWidget-specific handlers into GLWidget 2005-12-30 C.J. Adams-Collier Overview: Rotation on button click has (finally) been implemented. IGLObject objects are required to have an Update EventHandler now. Update is triggered when rotations are applied. The same method that the GLArea's OnExpose event handler fires off is now being fired off by Teapot's Update EventHandler. Thus: a) button is pressed which b) rotates object which c) triggers the Update handler, which d) draws the glarea, including the object * examples/rotate-buttons/Teapot.cs - Created an EventHandler called Update which fires when object is rotated - moved Draw() method. It now applies the rotation matrix, if one exists - Rotate() method now hands work off to base.Rotate() (GLObjectBase.cs) - Rotate() method now fires off the Updated event - added ResetRotation() method - ResetRotation() method calls base.ResetRotation() and then fires the Updated handler * examples/rotate-buttons/Rotation.cs - uhm... added a newline * examples/rotate-buttons/ObjectRotationButton.cs - ObjectRotationButton now contains an object that implemts IGLObject instead of a GLArea - the member variable is now called glObject instead of glArea - removed rotMult member variable definition. Should remove the variable, now that it's not used anymore. - handing rotation code off to glObject.Rotate(rotAngle, rotation) * examples/rotate-buttons/IGLObject.cs - The interface now enforces the use of a Update event handler - The interface now enforces the use of a ResetRotation() method * examples/rotate-buttons/GLObjectBase.cs - now using gl=Tao.OpenGl.Gl - removed abstract Draw() method - added a rotMatrix member variable - the Rotate() method calculates a rotation matrix and stores it in rotMatrix - The rotMatrix can then be used when Draw() is called to rotate the object as desired at draw time - ResetRotation() merely sets the rotation matrix to null * examples/rotate-buttons/Makefile.am - added a bunch of .cs files to our EXTRA_DIST variable * examples/rotate-buttons/GLWidget.cs - created an AddGLObject(IGLObject ob) method - This method adds the passed object to the widget's "associated" object list - removed teapot addition code from Init() (moved to rotateButtonTest.cs * examples/rotate-buttons/rotateButtonTest.cs - in buildControlWindow(), the teapot is created and associated with the GLWidget - ObjectRotationButton now takes an object that implements IGLObject rather than a GLArea. teapot is being passed now instead of glw 2005-12-29 C.J. Adams-Collier * examples/rotate-buttons/Teapot.cs - Copied from ../shared - Will be merged back in after changes are complete to new code - Teapot is now implements IGLObject and inherits from GLObjectBase - The teapot is drawn and cached by calling Init() - We now know how to Draw() ourselves. * examples/rotate-buttons/Rotation.cs - copied from ../shared - Will be merged back in after changes are complete to new code - This is a convenient way to refer to a clockwise or c-clockwise rotation in any direction * IGLObject.cs - This is an interface intended to make GL Object creation easier: Today, Teapots. Tomorrow the world. Or quake modles, or whatever. * examples/rotate-buttons/ObjectRotationButton.cs - This is a widget that inherits from Gtk.Button. It rotates a GLObject in a GtkGL.Rotation direction when the button is clicked. - It is also the next file to get some love from yours truly * examples/rotate-buttons/GtkGLObjectBase.cs - This is where methods common to all GLObjects will be implemented - Also, common member variables are defined here * examples/rotate-buttons/Makefile.am - added rotateButtonTest.exe target * examples/rotate-buttons/rotateButtonTest.md[ps] - created MonoDevelop solution. I don't think it works right now, but I will be maing it work in the futrue * GLWidget.cs - Copied from ../shared - Will be merged back in after changes are complete to new code - now inherits from GLArea - we are now calling Teapot.Init() in order to build the teapot - we are now calling Teapot.Draw() in order to draw the teapot - GLWidget is now a GLArea, so we now use glw instead of glw.glArea - there is a control widget. Did I mention I updated ../common/glwidget.glade ? 2005-12-25 C.J. Adams-Collier * examples/trackball/shapes.cs: - depricated this file. Soon it will be svn rm'd - Broke up the content into examples/common/GlWidget.cs, TrackballWidget.cs and trackballTest.cs * examples/trackball/Makefile.am: - Corrected the all: target - made the trackballTest.exe target work - fixed EXTRA_DIST and CLEANFILES * examples/common/glwidget.glade: - changed from glwidgets to glwidget - removed silly frame - removed statusbar * examples/common/GLWidget.cs: - created a connectHandlers() method that the handler connection code lives in now - added a link to the gluPerspective() man page - made OnExposed() a protected method so GLWidget's derived classes can remove it from the event queue - shapeList is now protected so derived classes can fiddle with it * examples/glade/glwidget.glade - moved the file to common/glwidget.glade * examples/glade/Makefile.am: - changed glwidget.glade to ../shared/glwidget.glade * examples/trackball/trackballTest.cs: - simple wrapper around TrackballWidget.cs 2005-12-23 C.J. Adams-Collier * examples/: reorganized the examples that were there, added new ones 2005-12-13 C.J. Adams-Collier * configure.am: added Makefiles for NeHe examples * examples/NeHe: Created directory structure for NeHe examples * examples/NeHe/Lesson01: Created a minimal OpenGL display * examples/NeHe/Lesson02: Created a triangle, square display gtkglarea-sharp-0.0.17/AUTHORS0000644000175000017500000000017510705406737015361 0ustar00samsam00000000000000C.J. Collier - examples/pick-object, examples/lwo Alp Toker Remy Fenn Nick gtkglarea-sharp-0.0.17/examples/0000777000175000017500000000000010727463043016125 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/resources/0000777000175000017500000000000010727463043020137 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/resources/Makefile.am0000644000175000017500000000006110705406737022167 0ustar00samsam00000000000000EXTRA_DIST = \ colliertech.png \ glwidget.gladegtkglarea-sharp-0.0.17/examples/resources/Makefile.in0000644000175000017500000002215110711630103022163 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = examples/resources DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = \ colliertech.png \ glwidget.glade FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/resources/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/resources/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/resources/colliertech.png0000644000175000017500000002171310705406737023145 0ustar00samsam00000000000000‰PNG  IHDRˆ¯çIgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<#]IDATxÚì]MlÉu~IQJ”(´^{#"òeyòaöÊS}rL@{ˆuñ!\8€„]ødì‚@' }ð…¾¬mrH,ayY3GO‚œhÀY%”ï®HiV¢4ú¥˜~ä+M©Õ?ÕÝÕÝÕ=ßÔRKÎTwý½¯¾WU¯vvvü؇*@€1†ü¿øáOΡV±ßK#^–Kª4(¤«Ò€|ýx/´´í¥çZz楧òó‰ü»2øÅOo g@?ðRY”t@K#)óò4ü<“Äc-=’ôM¢X°áõRCK#%¾Ïˆ¤#>Òèjé¡(„e°"8$ÄpHþße(Ò—ÿgeñ@ˆâü?"ƒ‘óÒa!…ኧ&í­]0Ily龨 D …TÚ_Ã2‹²àôTHB%¸¡AøÀ ÌG$ê£6Ý/ª¢)ªâž¤Gèîô;A°ûè¨ÃHŸ·ï!IM!‰¯hÏ ÐWÁî£q!ìÎzL”'½tLH¢C{î'€ZÄa1|LƒhÒØönJ]1IÜ…¢ ŽÁgŽ 9@1$àÅQ!‰;´w¶ Ò1,ÄÀéš0sû³ëiLH‚Ó3T U$ˆcB ch:«`¢ýí¹ëQ ð–Uµuhó¯:]¾IØ ÇÁŠá„- 0Ÿ”úÞEÂ)Œ1œ€j(£Ô‹hËDð‚pG„Ž ‰JWoÐÞ“Ä=T € ÊÄII®ž‚~.³iu±Ï3IêòŸmI|wƒºð{@Œ­ºB]04L½Ë‡T´VÛäõîøa ˆ¢1,³Õ“Ô»‰­l°¡ç…Ú®üT—÷$ €·£G˜<Ô%Eü³!?]8Èäð–Ù—„í°‚( !‡c¼‹ºŒçü»È{¶å¹´ßúQ»‹%ÖÍ€´Ó°×"WðÞû¯Q¹g˜¶$±qvéjOuí(ŸMØ'DqXRY;»Ôéõ/¡:‘8ÔÛ%ÍŠÕ½ ÷ÄÈUáÞ„Ô»çaPHâ•sÏŘôŸÏi/ k8.Ê¡èpÅ UýŽ„m)'u÷ÅÑ‚UECÚ khŠr(rÖ{Ÿz¡®Ÿ×¬IâÓÏ*äy.;®Ç[F‚°I_§âîƒf÷Ñ]!†º_¿É{CÊËDÁk‡s|Öï Õ‚¨ 9t©ÊúyŸµë¶¨ VL*$ºÍu€ ¬‚ Õ›Ãsê…®î÷`s\¼õ>õB¤YÈä k`Ÿ8/fæ½æð•ÌœâU0QþöÜmê¢ ¥ÄaQyîVz*İAýçNJ&·bà› ä «PÛ ó<çÀî“ÛP ‰ ýçbèÕmr  %[)Ïí–·%!u:5ñ˜zÁAFyÆVz*Äð%š0˜X/õÉ$±ä@Þ7+Í‚‡B 4Ÿ5|)$Á¤> r /‚8Bù…ìæõˆËꄹZ39Â*Ô5¡y\öÓr€ÑÊ[Bë:‚°Š¼® åCoŸÃh‚G¨lÄq!ˆ<Èá´ç#*F…öU>ûæ¬8sæL¢Ï¯®®æñS^j…üíc/­ÛÎoggÇ8³¿ý‡?ç5¹ïzéÛ^ú–üú¿¼ô©—~õwõÏ;èI@] ‚OåÚ¾‡€×>Ï[9|óÛA0cjj*’à…õÉ¿Ý(3?!‡¿ôÒœïOß‘ô–÷™Ÿƒ$€:Ä1!›P»•r_s€¯Iгz?þÙ÷¾@:øoðòû7ôŒb‘D‚ ’ƒOKóÚƒM×ÒC*p·P¾mø |­‚ÉÁf( v'ñ¡­ÂÎ9ÀÀCE€oYú RÅ`Š'ˆ†„MpøŒBOHCA`Ÿ ˜l†ð.%¶ 1Ýq©   "( =AŒX$>÷°íRÀÀž ˜ö[xÖC×ÔC ‚#ÜNÈϰK”nÉϵŠöuËÚ©ˆòñ.µõ¬‚Š( ÜWOÈÏFÀß7µ6íºôâqÞ#¦ŒÉ¦¯&Ä€_ɉ$æbÈK/ŸNv-ùýºL¹ÁîË +,¦ÄpšÎ´ÔîÄÒ–z»?”áoÎæ›]ÒfW+çºAèÏQ»]LÉBÕý*TDb4̦W%%é?›Ú÷–©çúœ4ìo¶I"j3?çã à~|]S8$—ž öY"^xQaJÜénXž}¨ó¼Î0c@ ™=}@ÉÝM Éó½–aFßÕ ŠÚÁÔ2|¿.´ÈY¨þ7fÛÒ¦66<¨¶e#ýý˜>e›$&"Èᆔ1î”u—ÿ’ˆÆ¾ßó´ÚFhï®W€(ˆIrØ5˜Þç¯xi¿—õvÈ,gg $5cLJ&FšÙûÝ=\®%1›†ï9¦"€Ä®–®ô«%²¿nMúkܶeS3%Ä ,óy6ú¦ H§ lX¾mªÀÎ9ø6gàÚ\ÅnZ—A·ˆ4uÜ8,Ä$.añZ»6"&7®Ÿã6‹Š›UE¬C=O6¢·>!‡ÃkÄ̾x¦¾V“›æfbfx®]å2›‹˜1«À…ÀžÑ Q“[ëü>a›,Z”-ªï*n”+ž lÜ÷ÄaõЈPê¬C’ü\-j\×âШГ³æ—ÑÇëQ÷t$ÑU™¨4Cˆ¿•á×`à«© ž:.Ï£:s·&ê!êœ:¹ínD„º6²ß] “qý×Áwæ‹¢f#Ê“† vãAAOCò}VQÃùë7ÌU±œ®N½UÐè=ôý¾ÑŠ1Ä.¢Cip aâ^šˆš‘ÔD=D…w=ÎQ;¢&ú|¼FµëºÃêjSR˜›i‚’ï¤Ûàÿ@AT“ žWPž·ÓÄVr”PÞŽ1À.#Ùf]ðvÌŒÚåúY§ðµ“·SÄ& |91Xc‚ˆZ´½UõÀ¨.#n¶Ù þÏÕ®&±¶ªX.ŠPÂP%Ä> ùººÅ5ÔEÁZÓdè(©Ü¦p_ýT _þ“—þ4äo‡ú˜ N¡\¯ <Â&Býò5RŒ¯øûÿ§$À¬ÿö#Ö¡ ªK®^zUÚ»jF,€Û¨ë"}êµøâ bÀB¾•k5újÁú(ˆr¢/Tì_ïÇ‚ÃÀO;TÄ@ÕT }µ€ß¯@] ÔOå…‚(‰ xý ëVW^ÇØ®P=œ€‚€J)&ø Ä £¶¿¾Y3Cÿ^:ð{¢øxÿw¼ôg!ûW/ý®•BÐBuß „‚(‡ ²bÐÑònPøa¹ OE$öã:J,'+n4ŽG¼?ÇbŠ:ÿÑ—aà‹'ˆíœòuEA„á”gìë²Ðv¿æøûOÆÌ¢ûQí:Qv…‚¨A<Ï)_WD¨QòDâUOGDT9OU˜ 6©OQס]¡ @»v´¼·"þÖ’h¯u0@‘å$·Ý4-¨‡Tí:I}è~ƒ‚AXÇ[òH€ ,dA+©ŠpTA¨ÐÏÍW„ËïD¹—Öú|¼Fµë$õá: |ñaã.‡ý—™ÃI‡E½œñ ~]6ׯE”“ï4¾æà;G] ‚èõßs!›rXEœdµ ¡ Š'×…ŽTÔpòÌl*‰Špx{ìjD9ù÷®]nO1äÐ&\7Gg%V7³Úø[¶Õ–0ðÕTLNž…ðŒÛ3êa2]©ˆv ¤z”;¢áàl“ßiÆT=ôñ)ê¨vmJ»®:Ö®|dñ¼ãõ¬DQt l-Šv/]ÇP5n׆åeÞ3î–»Õ¬DQkóÙP%„¨ã:«ˆû+ˆ—WÈâ‚A™f%­J‡ogt·¨mž¦3¼4ä RŠ! ’òÍHÙV)»¡•mÂàóŠÖ14AÕ[ÜšNS>£v8¥=/1!mÚJÐg—)7 |¹a‡]&ß"óªfM:¾ÚçÝ¢à§"n®… ,Î÷”Ìä'S¸s²CR’hheÜÔʸ)?»囤d—Å’ÜKVHBµÓ„L†ÚZ¿Ýpÿ4¥¯ž’ïLRrWU.äQ.A<¤½æÂÕ+HƒÖXIð`ùá¬WŸ)·r66—Å Ì~¾IñŸÒ‚ ”éá?ÀI(äÙoÕ‚t;¯ÃÀ—GlÐX ˆQ!‰¯*  tƒuE\,çxM«Î4Ü™£Éâb^X%ƒXP‰Œò‡BüçjØg¡ !¥"lìh9â*ADìDÚ±KÈsTÎÏ›b<Û9ä÷K ÃMÊaÑx‰kR·&lÔu*($ |¹Á ‚£»f½hŒöÎ9Ûà ›ŠÉ4Y Q¨EÄÕ5”_ QLåø¬M1 ÆeƒzÈDþ*¼ý å»}¹«µka;Р Ê%ˆÇBYw3íáA$8˰;ØÆ¡kÚbG3!ïCªiÝ;weöoÃ=Ä!kÒyÍ ^®xYN{é7BLïxéf™”8‚Ikà·„$NZª¸1Éë÷0q€…Ú´öï\g`Œ^¦~C«Fe?¯õÉqùÿ…:*Æ1ì,½ ü6(Pq €¢Ð‰ùÿÚ(FWHâ+P‘D} (Q@=°¤©ÁùÿRûož B©ˆÃ¢$l€×#Þ ½³[èOP3,PF·RUã™Ä!J·e6|oÄ×ho+mý €‚€j*Æ]1ê'-¾×˜Äÿv6PPI¡°)$1j±ìì«{á¥?ÒÞº„ öé¶äOk:/Û^mo0¬„ Éã<õîlVàïðË%ï³7S Pµ[E½ã逼W$%Å´–·Ê—ó»J{þíNÌwU9,åéGËWvÒò[‘9.Ïl…´çEo\\Í[A(CÎ!¼ß°<þUÔ×Ï î& Üp­h¢¥Í;ÚgüäÐ’Á3® ò%m†9®ÍOËÀçA{ÖTˆ ï#ß_’üÛ³R¥,ø].Sô"¦>à;Úûv¨·CfN{‡³3fžW¥>;Z˜æT§W}ï¨×©š•›¼'ṳ̈ù~"$‘Ue꓾>>¯‡%yõ=þù‘÷™³AêÚ¶‚`ŒxéO(Ÿ(­\ø/ ×ycD\{Ϫ¢ ÜMŸÈÿ†v|Qú©Ö¸Ý%ºh‹qéÌØLf«ÓÔ;1L$¡ÏHW´è»!ùêu6S ʳ-yÞ ™Õªú Ë“ÿö™fÜ.Ôé¼6¾¿Pž¸wÏ 2ÔIòmkm™DAØî“üû»9\ôým^ÆïÅ"É ƒöÏXΛ 4($-°ùà°(@vçñ©ö—uQˆgãBrð@õHeE3þ—¼ï\˜P]ÒŒÃE2Û뮌Å'ôú:Eñs·¬ˆAS~çVÌLy:†ôÔLö²æúÊó#Í š”]¹F}ê$ òzæb†|[6ú¤¢Z¶~¥OúòK·šo"×ñþ~9HuäIŒ{Bo°gVŒ I|I8LgãB£š’ൟ‡u+¨¨Œimµ •s[>φ÷’÷%ßl{ZBÍØ’„RF¡EÑ>~µ‡«ÚŒv:ÆØtbÈAw“-†äé¯SÓ²/ù\%Ód¾`Ÿ×3ç|j.M¾IñZŸ4ü^\Ÿ|©Núx¬ Íë.†ÛÔ;ôf£B>û a9lÛé¤Ô©NÆ|`q]\Nu‚Zˆí-\(‰9êù²õïŸ×^šÀrãhº“è&õüäã–òÔÝ'ãauJÉ‚-Poc.AäõÌéŒù^ÊÒ'“‰d8"õÕ6û„àÙ­w‹j°ÕØç—=ŸÐ ùÑòý{\¬yáfyf%3ÿyƒ4ðïîj—ôÌi ù&%«}R7úBj’Àé7¢n—LÔDÞ×}veöÉÏiäô Q–ëm½;³ë n ¾Å¯és)E¯9üÉç”`w“£Ï)¯q‹·h‚h[¬‡´eï$l£"žÙ©bŸô­5¨{'æ©çúÚ=ïÂj"l—_QÁØÃò ²Ü6t_Ú„šˆT L G~oŸ ·ß¨>[ÏÆ ¬ôIJàòK°ÅœwÜ© êDõ'BKeã+qS|=Á¬5 ØðqàÀ;’¡¿í‚0—”¥ÍYI°[ê+\ú ¼%[W­çKéBgÔ¢NS–½•P%åõ̶…|§‹ª¿„µ•Y??1Ïc ,dÇPˆ ö€ÄpÎ.”7Ęݕçö«ÛiHHáÙsñ©5 vVn ,o@Ü”Ôi‹Ñ\oJ ÚÝÔ¡Êžö @Ë—WYÏìPo§ÖtŠvOñ>zYN'ìÏiÊÍ»ž¸Œê `h*¸#mÊϼI‚Ä 6Ä­rW~»Oì 4ü1!J› ž‹j½¢ä{UfPs²ˆ—į¿ž€‚Ï9¨|U(„«}Dªì*tH’u U_”°ÎòzæU ’œË`¨­³©û$ÑóMP¢údVLˆp¨„ޤHâMÊ×ݤ»EK£}%DQWE1$åd>V@½2ÑóNµªm3VÛóÞ,ì]ÃÁ¨NÞò š—AÝñå« Ä"õâ%1.l´.R>‹Ñyש^öw|wQ›½/9ðL•¯2¼ß4lGÕ/2÷I2; ©Ë+}Òô¬ƒ×ŸKßÅEÆwÆ(è™c’Ž QðBv]Ö(ŠRbb-虬RNÈÏÿ© ›I…¢àà‹dM!ý„m'ÀU ÂQ¨˜L g¶z,þþÙŠõÁ›Ô;ÑÛ£ƒÊ_§IÕ\^ÏìH>ÊóÅG±½¤ø›I]EZßQ‘cS÷IߺÄ\éªs<Õ?‡JìPwÄåó&å·6êÞ 6n÷…(¶*è~”Yü!¾ý%¼C—*ò„O›Ê™ˆóÔ ­°à},ªaŽ^ Û½¤v~,.iF^í;WÒ?h ªçëƒõ]ª&ÄðÌinŸ…¥¥üÞ—4CºDéÖmòzæŠèyìÕ½þ…ì9_ž7S*‰Íõ5ç+‹ŸBû¤ÖwuUª¢%PåG¾²:G$3ùmQc?› jSÒC! NÈÝмÝôæ6-ñ]˜\«8QÍ6Õ`üHd·?´²ŽÝ¨ž1»G–4WÌsÔ[ Ë;*BkÕêTâEÍݦ0`/;øLEêzÐðh¥:®RºP¡}Ò ß„õÉŽVöÏdaºã«‹…¨­ÞCt(5{çuc%½ƒR_“YñC! þ÷ã’ëç€(¬CòŽ ÚŒý¿¤ŠŸ‡_íEÙꪗÇ)x›âU™¥­øfiQÆEå{žz1‘¦Cf«KTŸEíËZÙ§C ´*÷ÙÙœ×3ÕÖР›öôåtÅ’åD½"šÔ}R¯!…y Þíu9.™íû ²€w5© qŽtt&®Gb Y<ÊÑÅn£ƒB … Êï]w–ÛBÏ4C[YKæëïÊ/«ïB¹IÉ›ƒ©M¯^jTG(ÃtÚW§mÊo!¾Œgê0½Ï´,6údÐU©7ãÆ®K¡ ‚Ç8ÚáYé<‘ôT å3ùýs!mqS©Ê÷Р¤!IÃ’öKyGQuAx"äp;`&Ný œ¤®%Å0·)¹ëK¿¤'î’!*8׊pѩ謼ˆ|ÄÁ÷SÆ}´ /äoP C˜ÀÀ`bPÔ•Ÿ¦Ð§¯ºÞËŒæšÕ =–tBfß@ñx!İA5 ©nñ$5P0!¨õ†EíwqÊažz÷:$ݲ ‘l80Ü#!‰QôÛBñPˆáN „€w“©«<©w2~…^¿Ep÷ºOzuqúrúoU„6P¼H¬¶¤BMä¯6%Õ>Ø!u 뢦&L‚ð-Pq¸úYAè`Cõ{™ÕòIè1ôß\p_ùn¿ˆ!‰w©·Åõ<…ßq• r+AA„ƒ ×õBW@¶‚ÇÔ ‘þ¬Ÿ @uàó þˆ«¦Ñg¡ °/d¶«BY¡§Âsê…Dï¢:Ü €s(•ŠF• kWÒWB,ýѰ-²X)2€Z„‚Š¡Ô¡^¨k(ŠpÅ BžßGuPw‚P¸/鮲Aï‚· ßr€b ï¯(6…$8êÓö} ÄP§»/AdÆ#I|ØkLKûkÞ¦O55ÅiÝD0Ô‚,§!‰Ã¢*†kRÆg¢¶„ž k‚H†'Ô‹-t€zw,¢ê©x,¤ î®xŒî žåÄkƒÔ»ŒG%׸™ÜºZzHp‚Èlh•ÏžÁñžRïò•Š"'©KŠ8½@S‚(/d†þÐ÷{u±ºäg˜z÷C ‰Ù§%u3ÞŽä©’ºbU%^CP—©‹ˆJÅk7ÊBg dÆÿ 0îTíH¬áÍ_IEND®B`‚gtkglarea-sharp-0.0.17/examples/resources/glwidget.glade0000644000175000017500000004142510705406737022750 0ustar00samsam00000000000000 glwidgets GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True glwidgets True False 0 True True _File True True gtk-new True True gtk-open True True gtk-save True True gtk-save-as True True True gtk-quit True True _Edit True True gtk-cut True True gtk-copy True True gtk-paste True True gtk-delete True True _View True True _Control Window True True _Help True True _About True 0 False False True Control Window GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True controlWindow True 4 4 False 0 0 True X Rotation: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 0 1 fill True Y Rotation: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 1 2 fill True Z Rotation: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 2 3 fill True True Reset True GTK_RELIEF_NORMAL True 0 4 3 4 fill 30 True True True True 0 0 True * False 1 2 0 1 30 True True True True 0 0 True * False 1 2 1 2 30 True True True True 0 0 True * False 1 2 2 3 True Example Modal Dialog GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST True True True False 0 True GTK_BUTTONBOX_END True True True gtk-cancel True GTK_RELIEF_NORMAL True -6 True True True gtk-ok True GTK_RELIEF_NORMAL True -5 0 False True GTK_PACK_END True Example Dialog False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 True True gtkglarea-sharp-0.0.17/examples/glade/0000777000175000017500000000000010727463042017200 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/glade/GladeExample.cs0000644000175000017500000000466710705406737022074 0ustar00samsam00000000000000using System; using Gtk; using Glade; using GtkGL; namespace GtkGL { public class GladeExample { [Widget] public GLWidget glw; [Widget] public Window glwidget; public GladeExample () { // Load the file glwidget.glade and collect all the objects starting from // the specified "glwidget" root. This is the name of the Window in the // glade file. Glade.XML gxml = new Glade.XML(null, "glwidget.glade", "glwidget", null); // Connect the Signals defined in Glade. Also connect any matching names // of objects to properties of the object specified ('this') that are marked // with the [Widget] attribute. In turn this makes this.glwidget get assigned // to the glwidget Gtk.Window object. gxml.Autoconnect(this); // Create a new glw widget and request a size. glw = new GLWidget(); // Create a new Vertical Box that the glw can live in. VBox vb = (Gtk.VBox)gxml["vbox1"]; // Pack the glw widget into the VBox. vb.PackStart (glw); // Create a new clickable button. Button butModal = new Button(); butModal.Label = "Press For Modal!"; butModal.Clicked += new EventHandler(butModal_Clicked); // Stick the button into the vbox. vb.PackStart(butModal); } // Called when the butModal button is clicked on. void butModal_Clicked(object sender, EventArgs e) { // Optionally desensitize the parent dialog to // better suggest focus. glwidget.Sensitive = false; // Create a dialog out of the wrapped up class. DialogExample dlg = new DialogExample(glwidget); // Get the response from the dialog. ResponseType rt = (ResponseType)dlg.dlgExample.Run(); // If it was OK, instead of cancel, we do something. if (rt == ResponseType.Ok) Console.WriteLine("Accepted!"); // Destroying the dialog regardless of response. dlg.dlgExample.Destroy(); // Bring our sensitivity and thus, focus, back to our // parent window. glwidget.Sensitive = true; } private void OnQuit (object o, System.EventArgs e) { // Terminate the entire application. Application.Quit(); } private void OnWindowDeleteEvent (object sender, DeleteEventArgs a) { Application.Quit(); a.RetVal = true; } } class DialogExample { [Widget] public Dialog dlgExample = null; public DialogExample(Window parent) { Glade.XML gxml = new Glade.XML(null, "glwidget.glade", "dlgExample", null); gxml.Autoconnect(this); dlgExample.TransientFor = parent; } } }gtkglarea-sharp-0.0.17/examples/glade/README0000644000175000017500000000016410705406737020061 0ustar00samsam00000000000000This is a very simple example of how to go about creating an OpenGL-enabled program using glade and gtkglarea-sharp gtkglarea-sharp-0.0.17/examples/glade/Makefile.am0000644000175000017500000000237710711210564021231 0ustar00samsam00000000000000DLL_ASSEMBLY_NAME = GladeExample DLL_ASSEMBLY_TYPE = library DLL_ASSEMBLY_EXT = dll DLL_SOURCE_FILES = \ GladeExample.cs DLL_RESOURCE_FILES = $(top_srcdir)/examples/resources/glwidget.glade DLL_MCS_ARGS = \ -lib:@top_builddir@/gtkglarea \ -r:gtkglarea-sharp.dll \ -lib:@top_builddir@/examples/util \ -r:gtkglarea-sharp-util.dll \ -pkg:tao-opengl \ -pkg:gtk-sharp-2.0 \ -pkg:glade-sharp-2.0 \ -nowarn:0169 \ -target:$(DLL_ASSEMBLY_TYPE) \ $(addprefix -resource:, $(RESOURCE_FILES)) DLL_ASSEMBLY = $(DLL_ASSEMBLY_NAME).$(DLL_ASSEMBLY_EXT) DLL_ASSEMBLY_DEPS = \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ $(addprefix $(srcdir)/, $(DLL_SOURCE_FILES)) \ $(DLL_RESOURCE_FILES) $(DLL_ASSEMBLY): $(DLL_ASSEMBLY_DEPS) $(MCS) \ $(DLL_MCS_ARGS) \ $(addprefix $(srcdir)/, $(DLL_SOURCE_FILES)) \ -out:$(DLL_ASSEMBLY) ASSEMBLY_NAME = GladExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe ASSEMBLY_DEPS = $(DLL_ASSEMBLY) SOURCE_FILES = Engine.cs CLEANFILES += \ GladeExample.dll \ GladeExample.dll.mdp include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/Include.am EXTRA_DIST += \ $(addprefix $(srcdir)/, $(DLL_SOURCE_FILES)) gtkglarea-sharp-0.0.17/examples/glade/Include.am0000644000175000017500000000106410705406737021103 0ustar00samsam00000000000000## Set or append to MCS_ARGS MCS_ARGS += \ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll \ -pkg:glade-sharp-2.0 ## Set or append to MONO_PATH MONO_PATH += :@top_builddir@/examples/glade: ## set or append to RESOURCE_FILES RESOURCE_FILES += \ $(top_srcdir)/examples/resources/glwidget.glade ## set or append to ASSEMBLY_DEPS ASSEMBLY_DEPS += \ @top_builddir@/examples/glade/GladeExample.dll ## define a rule for building GladeExample.dll @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll gtkglarea-sharp-0.0.17/examples/glade/Makefile.in0000644000175000017500000002723610711630103021236 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/glade ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = $(DLL_ASSEMBLY) \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ GladeExample.dll GladeExample.dll.mdp \ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ $(addprefix $(srcdir)/, $(DLL_SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/util \ -r:gtkglarea-sharp-util.dll -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 -debug \ -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/util: \ :@top_builddir@/examples/glade: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ DLL_ASSEMBLY_NAME = GladeExample DLL_ASSEMBLY_TYPE = library DLL_ASSEMBLY_EXT = dll DLL_SOURCE_FILES = \ GladeExample.cs DLL_RESOURCE_FILES = $(top_srcdir)/examples/resources/glwidget.glade DLL_MCS_ARGS = \ -lib:@top_builddir@/gtkglarea \ -r:gtkglarea-sharp.dll \ -lib:@top_builddir@/examples/util \ -r:gtkglarea-sharp-util.dll \ -pkg:tao-opengl \ -pkg:gtk-sharp-2.0 \ -pkg:glade-sharp-2.0 \ -nowarn:0169 \ -target:$(DLL_ASSEMBLY_TYPE) \ $(addprefix -resource:, $(RESOURCE_FILES)) DLL_ASSEMBLY = $(DLL_ASSEMBLY_NAME).$(DLL_ASSEMBLY_EXT) DLL_ASSEMBLY_DEPS = \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ $(addprefix $(srcdir)/, $(DLL_SOURCE_FILES)) \ $(DLL_RESOURCE_FILES) ASSEMBLY_NAME = GladExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Engine.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/glade/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/glade/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am $(DLL_ASSEMBLY): $(DLL_ASSEMBLY_DEPS) $(MCS) \ $(DLL_MCS_ARGS) \ $(addprefix $(srcdir)/, $(DLL_SOURCE_FILES)) \ -out:$(DLL_ASSEMBLY) @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/glade/Engine.cs0000644000175000017500000000102610705406737020733 0ustar00samsam00000000000000using System; using Gtk; using Glade; namespace GladeExample { public class Engine { public static int Main (string[] args) { // Prepare application execution. This is where you // would load up your glade files and any other // resources. Gtk.Application.Init(); GtkGL.GladeExample ge = new GtkGL.GladeExample(); // Show the GL widget window and all it's children. ge.glwidget.ShowAll(); // Begin application processing. Gtk.Application.Run(); // And we're done. return 0; } } } gtkglarea-sharp-0.0.17/examples/util/0000777000175000017500000000000010727463042017101 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/util/EulerRotation.cs0000644000175000017500000001206210705406737022225 0ustar00samsam00000000000000 namespace GtkGL { using System; public class EulerRotation { double x, y, z; public class GimbalLock : System.Exception { public GimbalLock() : base() {} } GtkGL.TransformationMatrix transMatrix; GtkGL.Quaternion quat; public static EulerRotation operator -(EulerRotation rot1, EulerRotation rot2) { EulerRotation newRotation = new EulerRotation(0.0, 0.0, 0.0); newRotation.X = Math.Abs( rot1.X - rot2.X ); newRotation.Y = Math.Abs( rot1.Y - rot2.Y ); newRotation.Z = Math.Abs( rot1.Z - rot2.Z ); return newRotation; } public static EulerRotation operator +(EulerRotation rot1, EulerRotation rot2) { if(rot1 == null) if(rot2 == null) return null; else return rot2; if(rot2 == null) return rot1; EulerRotation newRotation = new EulerRotation(0.0, 0.0, 0.0); newRotation.X = ( (rot1.X + rot2.X) % 360 ); newRotation.Y = ( (rot1.Y + rot2.Y) % 360 ); newRotation.Z = ( (rot1.Z + rot2.Z) % 360 ); return newRotation; } public static bool operator ==(EulerRotation rot1, EulerRotation rot2) { if(Object.Equals(rot1, null)) if(Object.Equals(rot2, null)) return true; else return false; if(Object.Equals(rot2, null)) return false; // We consider values within 0.001 of each other to be equal if(Math.Abs(rot1.X - rot2.X) <= 0.001 && Math.Abs(rot1.Y - rot2.Y) <= 0.001 && Math.Abs(rot1.Z - rot2.Z) <= 0.001 ) return true; return false; } public static bool operator !=(EulerRotation rot1, EulerRotation rot2) { bool isEqual = (rot1 == rot2); if(isEqual) return false; else return true; } // An event that gets triggered when X, Y or Z are updated public event EventHandler Updated; public double X { get { return x; } set { x = value; if(Updated != null) Updated(this, null); } } public double Y { get { return y; } set { y = value; if(Updated != null) Updated(this, null); } } public double Z { get { return z; } set { z = value; if(Updated != null) Updated(this, null); } } void ClearCache(object o, EventArgs e) { // This should happen when the Updated handler fires quat = null; transMatrix = null; } static EulerRotation identity = null; // This represents a null rotation public static EulerRotation Identity { get { identity = new EulerRotation(0.0, 0.0, 0.0); return identity; } } void ConnectHandlers() { // When we are updated, clear the cached Quaternion and Rotation matrix this.Updated += this.ClearCache; } public EulerRotation() { x = 0.0; y = 0.0; z = 0.0; ConnectHandlers(); } public EulerRotation(double x, double y, double z) { this.x = x; this.y = y; this.z = z; ConnectHandlers(); } public GtkGL.TransformationMatrix ToTransMatrix() { if(transMatrix != null) return this.transMatrix; double[] matrix = GtkGL.TransformationMatrix.Identity.Matrix; // Convert to radians double Xradians = x * 2 * Math.PI / 360.0; double Yradians = y * 2 * Math.PI / 360.0; double Zradians = z * 2 * Math.PI / 360.0; double ch = Math.Cos(Xradians); double sh = Math.Sin(Xradians); double ca = Math.Cos(Yradians); double sa = Math.Sin(Yradians); double cb = Math.Cos(Zradians); double sb = Math.Sin(Zradians); matrix[0*4 + 0] = ch * ca; matrix[0*4 + 1] = sh*sb - ch*sa*cb; matrix[0*4 + 2] = ch*sa*sb + sh*cb; matrix[1*4 + 0] = sa; matrix[1*4 + 1] = ca*cb; matrix[1*4 + 2] = -ca*sb; matrix[2*4 + 0] = -sh*ca; matrix[2*4 + 1] = sh*sa*cb + ch*sb; matrix[2*4 + 2] = -sh*sa*sb + ch*cb; transMatrix = new GtkGL.TransformationMatrix(matrix); return transMatrix; } public GtkGL.Quaternion ToQuaternion() { if(quat != null) return quat; // Assuming the angles are in radians. double c1 = Math.Cos(x/2); double s1 = Math.Sin(x/2); double c2 = Math.Cos(y/2); double s2 = Math.Sin(y/2); double c3 = Math.Cos(z/2); double s3 = Math.Sin(z/2); double c1c2 = c1*c2; double s1s2 = s1*s2; quat = new GtkGL.Quaternion(c1c2*c3 - s1s2*s3, c1c2*s3 + s1s2*c3, s1*c2*c3 + c1*s2*s3, c1*s2*c3 - s1*c2*s3); return quat; } } } gtkglarea-sharp-0.0.17/examples/util/Makefile.am0000644000175000017500000000043010705406737021132 0ustar00samsam00000000000000ASSEMBLY_NAME = gtkglarea-sharp-util ASSEMBLY_TYPE = library ASSEMBLY_EXT = dll SOURCE_FILES = \ GLWidget.cs \ IGLObject.cs \ GLObjectBase.cs \ EulerRotation.cs \ Rotation.cs \ Vector.cs \ Quaternion.cs \ TransformationMatrix.cs include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/util/Vector.cs0000644000175000017500000000254510705406737020700 0ustar00samsam00000000000000 namespace GtkGL { using System; public class Vector { public double x, y, z; public Vector(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } public Vector(double[] v) { if(v == null || v.Length < 3) this.x = this.y = this.z = 0.0; else{ this.x = v[0]; this.y = v[1]; this.z = v[2]; } } public static Vector Cross(Vector v1, Vector v2) { return new Vector( (v1.y * v2.z) - (v1.z * v2.y), (v1.z * v2.x) - (v1.x * v2.z), (v1.x * v2.y) - (v1.y * v2.x) ); } public static Vector operator +(Vector v1, Vector v2) { return new Vector(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z ); } public static Vector operator *(Vector v1, double factor) { Vector result = new Vector( v1.x * factor, v1.y * factor, v1.z * factor ); return result; } public static double Dot(Vector v1, Vector v2) { return (v1.x * v2.x) + (v1.y * v2.y) + (v1.z * v2.z); } } } gtkglarea-sharp-0.0.17/examples/util/GLWidget.cs0000644000175000017500000001250310705406737021077 0ustar00samsam00000000000000namespace GtkGL { using System; using System.Collections; using Tao.OpenGl; using Gtk; using Gdk; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; public class GLWidget : GLArea { static System.Int32[] attrlist = { (int)GtkGL._GDK_GL_CONFIGS.Rgba, (int)GtkGL._GDK_GL_CONFIGS.RedSize,1, (int)GtkGL._GDK_GL_CONFIGS.GreenSize,1, (int)GtkGL._GDK_GL_CONFIGS.BlueSize,1, (int)GtkGL._GDK_GL_CONFIGS.DepthSize,1, (int)GtkGL._GDK_GL_CONFIGS.Doublebuffer, (int)GtkGL._GDK_GL_CONFIGS.None, }; protected ArrayList GLObjectList; public void AddGLObject(IGLObject ob) { ob.Updated += OnExposed; GLObjectList.Add(ob); } private void Init() { // The GL widget is a minimum of 300x300 pixels this.SetSizeRequest(300,300); // Initialize the GLObjectList GLObjectList = new ArrayList(); // Connect some other signals this.ExposeEvent += OnExposed; this.Realized += OnRealized; this.SizeAllocated += OnSizeAllocated; this.ConfigureEvent += OnConfigure; } public GLWidget() : base(attrlist) { this.Init(); } public GLWidget(System.Int32[] attrList) : base(attrList) { this.Init(); } // This handler gets fired when the glArea widget is re-sized void OnSizeAllocated (object o, Gtk.SizeAllocatedArgs e) { int height = e.Allocation.Height, width = e.Allocation.Width; // Avoid devide-by-zero error if(height == 0){ height = 1; } // Set our Viewport size gl.glViewport(0, 0, width, height); gl.glMatrixMode(gl.GL_PROJECTION); // Select The Projection Matrix gl.glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window // http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/glu/perspective.html glu.gluPerspective(45.0f,(float)width/(float)height,0.1f,100.0f); gl.glTranslatef(0.0f,0.0f,-6.0f); // Move away from the drawing area 6.0 gl.glMatrixMode(gl.GL_MODELVIEW); // Select The Modelview Matrix gl.glLoadIdentity(); // Reset The Modelview Matrix } // Drawing of pretty objects happens here protected void OnExposed (object o, EventArgs e) { if (this.MakeCurrent() == 0) return; //gl.glMatrixMode(gl.GL_MODELVIEW_MATRIX); // Clear the scene gl.glClear (gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT); // Replace current matrix with the identity matrix gl.glLoadIdentity (); // Draw the GLObjects associated with this GLArea foreach(GtkGL.IGLObject glObj in GLObjectList) glObj.Draw(); // bring back buffer to front, put front buffer in back this.SwapBuffers (); } public static void EnableLighting (object o, EventArgs e) { float[] position = {-2.0f, 2.0f, 2.0f, 0.5f}; Gl.glEnable (Gl.GL_LIGHT0); Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, position); Gl.glEnable (Gl.GL_LIGHTING); } // Connect a method to this handler to extend the state setup public event EventHandler GLSetup; // One-time configuration of opengl states happens here protected virtual void InitGL() { // Run the associated Setup methods first if(GLSetup != null) GLSetup(this, null); gl.glShadeModel(gl.GL_SMOOTH); // Enables Smooth Shading gl.glClearColor (0.0f, 0.0f, 0.0f, 0.0f); gl.glClearDepth (1.0f); Gl.glEnable (Gl.GL_AUTO_NORMAL); Gl.glEnable (Gl.GL_NORMALIZE); gl.glEnable (gl.GL_DEPTH_TEST); // Enables Depth Testing gl.glEnable (gl.GL_BLEND); gl.glEnable (gl.GL_COLOR_MATERIAL); gl.glBlendFunc (gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA); gl.glDepthFunc (gl.GL_LEQUAL); // The Type Of Depth Test To Do // Really Nice Perspective Calculations gl.glHint(gl.GL_PERSPECTIVE_CORRECTION_HINT, gl.GL_NICEST); float[] materialSpecular = {1.0f, 1.0f, 1.0f, 0.15f}; float[] materialShininess = {100.0f}; // int[] materialEmission = { 0, 0, 0, 255 }; // gl.glMaterialiv(gl.GL_FRONT_AND_BACK, gl.GL_EMISSION, materialEmission); //Gl.glMaterialfv(Gl.GL_FRONT, Gl.GL_SPECULAR, materialSpecular); //Gl.glMaterialfv(Gl.GL_FRONT, Gl.GL_SHININESS, materialShininess); Gl.glFrontFace (Gl.GL_CW); gl.glShadeModel (gl.GL_SMOOTH); // Really Nice Perspective Calculations gl.glHint(gl.GL_PERSPECTIVE_CORRECTION_HINT, gl.GL_NICEST); return; } // Fired off when the widget is realized void OnRealized (object o, EventArgs e) { if (this.MakeCurrent() == 0) return; // Run the state setup routine InitGL(); // Iterate over associated IGLObject objects, calling Init() on each System.Collections.IEnumerator enumerator = GLObjectList.GetEnumerator(); while(enumerator.MoveNext()){ ( (GtkGL.IGLObject) enumerator.Current ).Init(); } } // This handler gets fired when the glArea widget is re-sized // This method is called "ReSizeGLScene" in the NeHe lessons void OnConfigure (object o, EventArgs e) { if( this.MakeCurrent() == 0) return; gl.glViewport (0, 0, this.Allocation.Width, this.Allocation.Height); } // Bound in glwidget.glade private void OnQuit (object o, System.EventArgs e){ Application.Quit(); } // Bound in glwidget.glade private void OnWindowDeleteEvent (object sender, DeleteEventArgs a) { Application.Quit (); a.RetVal = true; } } }gtkglarea-sharp-0.0.17/examples/util/IGLObject.cs0000644000175000017500000000254210705406737021175 0ustar00samsam00000000000000namespace GtkGL { using System; using System.Collections; using GtkGL; public interface IGLObject { // An event handler to notify folks of updates event EventHandler Updated; // A hook for initialization tasks void Init(); // Draw the object bool Draw(); int ID { get; } bool Selected { get; set; } // Translation (movement) methods void Translate(float x, float y, float z); void Translate(double x, double y, double z); void Scale(double[] factor); void Scale(double xFactor, double yFactor, double zFactor); void Scale(double factor); // Rotate the object by passing a quaternion void Rotate(GtkGL.Quaternion quat); // Rotate the object by passing an Euler rotation void Rotate(GtkGL.EulerRotation eRot); // Reset the rotation to the identity, and fire the 'Updated' handlers if 'doUpdate' void ResetRotation(bool doUpdate); // Reset the rotation to the identity void ResetRotation(); // Return the rotation as Euler angles EulerRotation GetEulerRotation(); // Return the rotation as a Quaternion Quaternion GetQuaternion(); // Return the TransformationMatrix TransformationMatrix GetTransformationMatrix(); } } gtkglarea-sharp-0.0.17/examples/util/Include.am0000644000175000017500000000072410705406737021006 0ustar00samsam00000000000000## Set or append to MCS_ARGS MCS_ARGS += \ -lib:@top_builddir@/examples/util \ -r:gtkglarea-sharp-util.dll ## Set or append to MCS_ARGS MONO_PATH += :@top_builddir@/examples/util: ## set or append to ASSEMBLY_DEPS ASSEMBLY_DEPS += \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll ## define a rule for building gtkglarea-sharp-util.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dllgtkglarea-sharp-0.0.17/examples/util/TransformationMatrix.cs0000644000175000017500000000712110705406737023624 0ustar00samsam00000000000000 namespace GtkGL { using System; public class TransformationMatrix { private double[] matrix; public double[] Matrix { get { if(matrix != null) return matrix; matrix = Identity.Matrix; return matrix; } set { if(value.Length == 16) matrix = value; } } public static TransformationMatrix operator +(TransformationMatrix m1, TransformationMatrix m2) { double[] newMatrix = new double[16]; for(int i = 0; i < 16; i++){ newMatrix[i] = m1.Matrix[i] + m2.Matrix[i]; } return new GtkGL.TransformationMatrix(newMatrix); } public static TransformationMatrix operator *(TransformationMatrix m1, TransformationMatrix m2) { double[] newMatrix = new double[16]; for(int i = 0; i < 16; i++){ double sum = 0.0; for(int j = 0; j < 4; j++){ sum += m1.Matrix[(i%4) + j*4] * m2.Matrix[(i/4)*4 + j]; } newMatrix[i] = sum; } return new GtkGL.TransformationMatrix(newMatrix); } void Clear() { matrix = new double[16]; for(int i = 0; i < 16; i++){ matrix[i] = 0.0; } } static TransformationMatrix identity; // The identity matrix: /* | 1.0 0.0 0.0 0.0 | | 0.0 1.0 0.0 0.0 | | 0.0 0.0 1.0 0.0 | | 0.0 0.0 0.0 1.0 | */ public static TransformationMatrix Identity { get { if(identity != null) return identity; double[] identityMatrix = new double[16]; for(int i = 0; i < 16; i++){ if(i % 5 == 0) identityMatrix[i] = 1; else identityMatrix[i] = 0; } identity = new TransformationMatrix(identityMatrix); return identity; } } GtkGL.Quaternion quat; public TransformationMatrix() { matrix = Identity.Matrix; } public TransformationMatrix(double[] rotMatrix) { Matrix = rotMatrix; } public GtkGL.EulerRotation ToEulerRotation() { GtkGL.EulerRotation eRot; double angle_x, angle_y, angle_z; double C, RADIANS = 57.2999999999999; double trX, trY; angle_y = Math.Asin( matrix[2]); /* Calculate Y-axis angle */ C = Math.Cos( angle_y ); angle_y *= RADIANS; // Throw an exception if we have encountered Gimbal Lock if ( Math.Abs( C ) <= 0.005 ) throw new GtkGL.EulerRotation.GimbalLock(); trX = matrix[10] / C; trY = -matrix[6] / C; angle_x = Math.Atan2( trY, trX ) * RADIANS; trX = matrix[0] / C; /* Get Z-axis angle */ trY = -matrix[1] / C; angle_z = Math.Atan2( trY, trX ) * RADIANS; /* return only positive angles in [0,360] */ if (angle_x < 0) angle_x += 360.0; if (angle_y < 0) angle_y += 360.0; if (angle_z < 0) angle_z += 360.0; eRot = new EulerRotation(); eRot.X = angle_x; eRot.Y = angle_y; eRot.Z = angle_z; return eRot; } public GtkGL.Quaternion ToQuaternion() { double qx, qy, qz, qw; qx = qy = qz = qw = 0.0; // Create a quaternion return new GtkGL.Quaternion(qw, qx, qy, qz); } } } gtkglarea-sharp-0.0.17/examples/util/Rotation.cs0000644000175000017500000000071610705406737021233 0ustar00samsam00000000000000 namespace GtkGL { using System; public class Rotation { public enum Direction { Clockwise, CounterClockwise } public float xRot, yRot, zRot; public Direction dir; public Rotation(Direction d, float xr, float yr, float zr) { this.dir = d; this.xRot = xr; this.yRot = yr; this.zRot = zr; } } } gtkglarea-sharp-0.0.17/examples/util/Makefile.in0000644000175000017500000002412310711630104021130 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am subdir = examples/util ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -debug -lib:@top_builddir@/gtkglarea $(addprefix \ -resource:, $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 \ -pkg:tao-opengl -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = gtkglarea-sharp-util ASSEMBLY_TYPE = library ASSEMBLY_EXT = dll SOURCE_FILES = \ GLWidget.cs \ IGLObject.cs \ GLObjectBase.cs \ EulerRotation.cs \ Rotation.cs \ Vector.cs \ Quaternion.cs \ TransformationMatrix.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/util/Quaternion.cs0000644000175000017500000001165410705406737021564 0ustar00samsam00000000000000namespace GtkGL { using System; public class Quaternion { double x, y, z, w; // our Updated event handler public new event EventHandler Updated; public double X { set { x = value; if(Updated != null) Updated(this, null); } get { return x; } } public double Y { set { y = value; if(Updated != null) Updated(this, null); } get { return y; } } public double Z { set { z = value; if(Updated != null) Updated(this, null); } get { return z; } } public double W { set { w = value; if(Updated != null) Updated(this, null); } get { return w; } } static Quaternion identity = null; public static Quaternion Identity { get { if (identity == null) identity = new Quaternion(1,0,0,0); return identity; } } const int RENORMCOUNT = 97; static int count = 0; public static Quaternion operator *(Quaternion q1, Quaternion q2) { if(q1 == null) return null; if(q2 == null) return null; Vector v1 = new Vector(q1.x, q1.y, q1.z); Vector v2 = new Vector(q2.x, q2.y, q2.z); double angle = ((q1.w * q2.w) - Vector.Dot(v1, v2)); Vector cross = Vector.Cross(v1, v2); v1 *= q2.w; v2 *= q1.w; Quaternion result = new Quaternion(angle, (v1.x + v2.x + cross.x), (v1.y + v2.y + cross.y), (v1.z + v2.z + cross.z) ); return result; } public Quaternion(float[] q) { this.w = (double) q[0]; this.x = (double) q[1]; this.y = (double) q[2]; this.z = (double) q[3]; } public Quaternion(double[] q) { this.w = q[0]; this.x = q[1]; this.y = q[2]; this.z = q[3]; } public Quaternion(double w, double x, double y, double z) { this.w = w; this.x = x; this.y = y; this.z = z; } double GetMagnitude() { return (w*w + x*x + y*y + z*z); } /* * Quaternions always obey: a^2 + b^2 + c^2 + d^2 = 1.0 * If they don't add up to 1.0, dividing by their magnitued will * renormalize them. * * Note: See the following for more information on quaternions: * * - Shoemake, K., Animating rotation with quaternion curves, Computer * Graphics 19, No 3 (Proc. SIGGRAPH'85), 245-254, 1985. * - Pletinckx, D., Quaternion calculus as a basic tool in computer * graphics, The Visual Computer 5, 2-13, 1989. */ public Quaternion Normalize() { double mag = GetMagnitude(); w /= mag; x /= mag; y /= mag; z /= mag; return this; } public GtkGL.EulerRotation ToEulerRotation() { double heading; double attitude; double bank; double magnitude = GetMagnitude(); // 1.0 if normalised, otherwise is correction factor double test = x*y + z*w; if (test > 0.499 * magnitude) { // singularity at north pole heading = 2 * Math.Atan2(x,w); attitude = Math.PI/2; bank = 0; Console.WriteLine("Eep! Singularity at north pole!"); return new GtkGL.EulerRotation(heading, attitude, bank); } if (test < -0.499 * magnitude) { // singularity at south pole heading = -2 * Math.Atan2(x,w); attitude = - Math.PI/2; bank = 0; Console.WriteLine("Eep! Singularity at south pole!"); return new GtkGL.EulerRotation(heading, attitude, bank); } heading = Math.Atan2(2*y*w-2*x*z , 1 - 2*y*y - 2*z*z); attitude = Math.Asin(2*test/magnitude); bank = Math.Atan2(2*x*w-2*y*z , 1 - 2*x*x - 2*z*z); return new GtkGL.EulerRotation(heading, attitude, bank); } public GtkGL.TransformationMatrix ToTransMatrix() { double[] transMatrix = new double[16]; transMatrix[4 * 0 + 0] = 1.0 - 2.0f * (y * y + z * z); transMatrix[4 * 0 + 1] = 2.0 * (x * y - z * w); transMatrix[4 * 0 + 2] = 2.0 * (z * x + y * w); transMatrix[4 * 1 + 0] = 2.0 * (x * y + z * w); transMatrix[4 * 1 + 1]= 1.0 - 2.0f * (z * z + x * x); transMatrix[4 * 1 + 2] = 2.0 * (y * z - x * w); transMatrix[4 * 2 + 0] = 2.0 * (z * x - y * w); transMatrix[4 * 2 + 1] = 2.0 * (y * z + x * w); transMatrix[4 * 2 + 2] = 1.0 - 2.0f * (y * y + x * x); transMatrix[3] = transMatrix[7] = transMatrix[11] = transMatrix[12] = transMatrix[13] = transMatrix[14] = 0.0; transMatrix[15] = 1.0; return new GtkGL.TransformationMatrix(transMatrix); } } } gtkglarea-sharp-0.0.17/examples/util/GLObjectBase.cs0000644000175000017500000001560110705406737021657 0ustar00samsam00000000000000namespace GtkGL { using System; using System.Collections; using GtkGL; using gl=Tao.OpenGl.Gl; // public abstract class GLObjectBase { // This doesn't work because of a bug: // http://bugzilla.ximian.com/show_bug.cgi?id=76122 - GLObjectBase shouldn't need to implement IGLObject public abstract class GLObjectBase : IGLObject { protected ArrayList GLAreaList = null; protected int shapeID; public int ID { get { return shapeID; } } protected bool selected = false; public bool Selected { get { return selected; } set { if(value == true){ if(SelectedEvent != null) SelectedEvent(this, null); }else{ if(DeSelectedEvent != null) DeSelectedEvent(this, null); } selected = value; } } protected float alphaValue = 1.0f; protected double[] scale = null; protected double[] translation = null; protected GtkGL.Quaternion quat = null; // our Updated event handler public event EventHandler Updated; // our SelectedEvent event handler public event EventHandler SelectedEvent; // our DeSelectedEvent event handler public event EventHandler DeSelectedEvent; protected virtual void DrawObject() {} // Cache the drawing of the object public new void Init() { // Do some genlist magic shapeID = gl.glGenLists (1); gl.glNewList (shapeID, gl.GL_COMPILE); DrawObject(); gl.glEndList (); } // Make setting of euler, quat and matrix an atomic action protected GtkGL.EulerRotation ERot { get { return quat.ToEulerRotation(); } set { if(value == null) quat = GtkGL.Quaternion.Identity; quat = value.ToQuaternion(); } } // Make setting of euler, quat and matrix an atomic action protected GtkGL.Quaternion Quat { get { return quat; } set { if(value == null) quat = GtkGL.Quaternion.Identity; quat = value; } } // Make setting of euler, quat and matrix an atomic action protected GtkGL.TransformationMatrix TransMatrix { get { if(quat == null) Quat = GtkGL.Quaternion.Identity; if(translation == null){ translation = new double[3]; translation[0] = 0; translation[1] = 0; translation[2] = 0; } if(scale == null){ scale = new double[3]; scale[0] = 1; scale[1] = 1; scale[2] = 1; } // begin generating the transformation by converting the Quaternion into a rotation matrix GtkGL.TransformationMatrix tm = quat.ToTransMatrix(); // Next, add the translation X, Y and Z factors to the matrix /* * | 1 0 0 X | * | 0 1 0 Y | * | 0 0 1 Z | * | 0 0 0 1 | */ tm.Matrix[12] = translation[0]; tm.Matrix[13] = translation[1]; tm.Matrix[14] = translation[2]; // And finally, add the X, Y and Z scale factors to the matrix /* * | X 0 0 0 | * | 0 Y 0 0 | * | 0 0 Z 0 | * | 0 0 0 1 | */ tm.Matrix[0] = scale[0]; tm.Matrix[5] = scale[1]; tm.Matrix[10] = scale[2]; // Return the constructed TransformationMatrix return tm; } set { if(value == null) quat = GtkGL.Quaternion.Identity; // Set our internal quaternion from the Transformation Matrix quat = value.ToQuaternion(); if(translation == null) translation = new double[3]; // Set our internal translation factors from the matrix translation[0] = value.Matrix[12]; translation[1] = value.Matrix[13]; translation[3] = value.Matrix[14]; if(scale == null) scale = new double[3]; // Set our internal scale factors from the matrix scale[0] = value.Matrix[0]; scale[1] = value.Matrix[5]; scale[2] = value.Matrix[10]; } } public void Scale(double[] factor) { if(factor.Length != 3) return; this.Scale(factor[0], factor[1], factor[1]); } public void Scale(double factor) { this.Scale(factor, factor, factor); } public void Scale(double xFactor, double yFactor, double zFactor) { if(this.scale == null){ this.scale = new double[3]; scale[0] = 1; scale[1] = 1; scale[2] = 1; } scale[0] *= xFactor; scale[1] *= yFactor; scale[2] *= zFactor; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void Translate(float x, float y, float z) { this.Translate((double) x, (double) y, (double) z); } public void Translate(double x, double y, double z) { if(this.translation == null) this.translation = new double[3]; translation[0] = x; translation[1] = y; translation[2] = z; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void Rotate(GtkGL.Quaternion q) { Quat *= q; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void Rotate(GtkGL.EulerRotation er) { Rotate(er.ToQuaternion()); } public void Rotate(GtkGL.TransformationMatrix tm) { Rotate(tm.ToQuaternion()); } public void ResetRotation() { ResetRotation(true); } public void ResetRotation(bool doUpdate) { Quat = GtkGL.Quaternion.Identity; // Tell our handlers that we have been updated if (doUpdate && Updated != null) Updated (this, null); } public EulerRotation GetEulerRotation() { return Quat.ToEulerRotation(); } public Quaternion GetQuaternion() { if(quat != null) return quat; Quat = GtkGL.Quaternion.Identity; return Quat; } public TransformationMatrix GetTransformationMatrix() { return TransMatrix; } public virtual bool Draw() { gl.glPushMatrix(); gl.glMultMatrixd(this.TransMatrix.Matrix); gl.glPushName(shapeID); // Draw the image from the display list gl.glCallList (shapeID); //DrawObject(); gl.glPopName(); gl.glPopMatrix(); return true; } } } gtkglarea-sharp-0.0.17/examples/shapes/0000777000175000017500000000000010727463043017410 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/shapes/Cube.cs0000644000175000017500000000611710705406736020620 0ustar00samsam00000000000000namespace GtkGL { using System; using gl=Tao.OpenGl.Gl; public class Cube : GtkGL.GLObjectBase, GtkGL.IGLObject { protected override void DrawObject () { gl.glBegin(gl.GL_QUADS); // Draw a Cube gl.glColor4f(0.0f,1.0f,0.0f, alphaValue); // Set The Color To Green gl.glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Top) gl.glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Top) gl.glVertex3f(-1.0f, 1.0f, 1.0f); // Bottom Left Of The Quad (Top) gl.glVertex3f( 1.0f, 1.0f, 1.0f); // Bottom Right Of The Quad (Top) gl.glColor4f(1.0f,0.5f,0.0f, alphaValue); // Set The Color To Orange gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Top Right Of The Quad (Bottom) gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Top Left Of The Quad (Bottom) gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Bottom) gl.glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Bottom) gl.glColor4f(1.0f,0.0f,0.0f, alphaValue); // Set The Color To Red gl.glVertex3f( 1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Front) gl.glVertex3f(-1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Front) gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Front) gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Front) gl.glColor4f(1.0f,1.0f,0.0f, alphaValue); // Set The Color To Yellow gl.glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Back) gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Back) gl.glVertex3f(-1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Back) gl.glVertex3f( 1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Back) gl.glColor4f(0.0f,0.0f,1.0f, alphaValue); // Set The Color To Blue gl.glVertex3f(-1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Left) gl.glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Left) gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Left) gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Left) gl.glColor4f(1.0f,0.0f,1.0f, alphaValue); // Set The Color To Violet gl.glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Right) gl.glVertex3f( 1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Right) gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Right) gl.glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Right) gl.glEnd(); } } } gtkglarea-sharp-0.0.17/examples/shapes/Makefile.am0000644000175000017500000000042610705406736021444 0ustar00samsam00000000000000ASSEMBLY_NAME = shapes ASSEMBLY_TYPE = library ASSEMBLY_EXT = dll SOURCE_FILES = \ ColoredSquare.cs \ ColoredTriangle.cs \ Cube.cs \ Pyramid.cs \ Square.cs \ Teapot.cs \ Triangle.cs include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.amgtkglarea-sharp-0.0.17/examples/shapes/Pyramid.cs0000644000175000017500000000576410705406736021356 0ustar00samsam00000000000000 namespace GtkGL { using System; using gl=Tao.OpenGl.Gl; public class Pyramid : GtkGL.GLObjectBase,GtkGL.IGLObject{ protected override void DrawObject() { gl.glBegin(gl.GL_TRIANGLES); // Start drawing the Pyramid gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Front) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Left Of Triangle (Front) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Right Of Triangle (Front) gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Right) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Left Of Triangle (Right) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f( 1.0f,-1.0f, -1.0f); // Right Of Triangle (Right) gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Back) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f( 1.0f,-1.0f, -1.0f); // Left Of Triangle (Back) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f(-1.0f,-1.0f, -1.0f); // Right Of Triangle (Back) gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Left) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Left Of Triangle (Left) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Right Of Triangle (Left) gl.glEnd(); // Finished Drawing sides gl.glBegin(gl.GL_QUADS); // Draw the base gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Left Of Triangle (Front) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Left Of Triangle (Right) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f( 1.0f,-1.0f, -1.0f); // Left Of Triangle (Back) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Left Of Triangle (Left) gl.glEnd(); // Finished Drawing The Pyramid } } } gtkglarea-sharp-0.0.17/examples/shapes/Include.am0000644000175000017500000000063210705406736021311 0ustar00samsam00000000000000## Set or append to MCS_ARGS MCS_ARGS += \ -lib:@top_builddir@/examples/shapes \ -r:shapes.dll ## Set or append to MONO_PATH MONO_PATH += :@top_builddir@/examples/shapes: ## set or append to ASSEMBLY_DEPS ASSEMBLY_DEPS += \ @top_builddir@/examples/shapes/shapes.dll ## define a rule for building shapes.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll gtkglarea-sharp-0.0.17/examples/shapes/Square.cs0000644000175000017500000000103010705406736021167 0ustar00samsam00000000000000namespace GtkGL { using System; using gl=Tao.OpenGl.Gl; public class Square : GtkGL.GLObjectBase, GtkGL.IGLObject { protected override void DrawObject () { gl.glBegin(gl.GL_QUADS); // Draw A Quad gl.glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left gl.glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right gl.glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right gl.glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left gl.glEnd(); // Done Drawing The Quad } } } gtkglarea-sharp-0.0.17/examples/shapes/Makefile.in0000644000175000017500000002462310711630103021442 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/shapes ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/util \ -r:gtkglarea-sharp-util.dll -debug \ -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/util: \ :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = shapes ASSEMBLY_TYPE = library ASSEMBLY_EXT = dll SOURCE_FILES = \ ColoredSquare.cs \ ColoredTriangle.cs \ Cube.cs \ Pyramid.cs \ Square.cs \ Teapot.cs \ Triangle.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/shapes/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/shapes/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/shapes/Triangle.cs0000644000175000017500000000072610705406736021507 0ustar00samsam00000000000000 namespace GtkGL { using System; using gl=Tao.OpenGl.Gl; public class Triangle : GtkGL.GLObjectBase,GtkGL.IGLObject{ protected override void DrawObject() { gl.glBegin(gl.GL_TRIANGLES); // Drawing Using Triangles gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top gl.glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left gl.glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right gl.glEnd(); // Finished Drawing The Triangle } } } gtkglarea-sharp-0.0.17/examples/shapes/Teapot.cs0000644000175000017500000001606110711216566021172 0ustar00samsam00000000000000// created on 11/25/2005 at 11:13 AM using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using System; using System.Collections; namespace GtkGL { public class Teapot : GtkGL.GLObjectBase,GtkGL.IGLObject { /* * Teapot */ /* Rim, body, lid, and bottom data must be reflected in x and y; handle and spout data across the y axis only. */ static int[,] patchdata = { /* rim */ {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, /* body */ {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27}, {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}, /* lid */ {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101, 101, 0, 1, 2, 3,}, {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117}, /* bottom */ {118, 118, 118, 118, 124, 122, 119, 121, 123, 126, 125, 120, 40, 39, 38, 37}, /* handle */ {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56}, {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 28, 65, 66, 67}, /* spout */ {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83}, {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95} }; /* *INDENT-OFF* */ static double[,] cpdata = { {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,-0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125}, {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84, 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875}, {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75, 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35}, {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2, 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12, 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225}, {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225}, {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0, -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5, -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3, 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0, 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0, 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8}, {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3, -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3, 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2, -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0, 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0, 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66, 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1}, {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7, -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0, 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375}, {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475}, {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4}, {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0, 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8, 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4, -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0, 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4, 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3, 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4}, {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425, -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425, 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075}, {0.84, -1.5, 0.075} }; static float[/*2*2*2*/] tex = { 0, 0, 1, 0, 0, 1, 1, 1 }; /* *INDENT-ON* */ static float[][] cachedP = new float[10][], cachedQ = new float[10][], cachedR = new float[10][], cachedS = new float[10][]; private void DoTeaPot(int grid, double scale, int type) { gl.glPushAttrib(gl.GL_ENABLE_BIT | gl.GL_EVAL_BIT); gl.glEnable(gl.GL_AUTO_NORMAL); gl.glEnable(gl.GL_NORMALIZE); gl.glEnable(gl.GL_MAP2_VERTEX_3); gl.glEnable(gl.GL_MAP2_TEXTURE_COORD_2); gl.glPushMatrix(); gl.glRotatef(270.0f, 1.0f, 0.0f, 0.0f); gl.glScalef((float)(0.5 * scale), (float)(0.5 * scale), (float)(0.5 * scale)); gl.glTranslatef(0.0f, 0.0f, -1.5f); float[,,] p = new float[4,4,3], q = new float[4,4,3], r = new float[4,4,3], s = new float[4,4,3]; int i, j, k, l; for (i = 0; i < 10; i++) { if(cachedP[i] == null){ for (j = 0; j < 4; j++) { for (k = 0; k < 4; k++) { for (l = 0; l < 3; l++) { p[j,k,l] = (float)cpdata[patchdata[i,j * 4 + k],l]; q[j,k,l] = (float)cpdata[patchdata[i,j * 4 + (3 - k)],l]; if (l == 1) q[j,k,l] *= -1.0f; if (i < 6) { r[j,k,l] = (float)cpdata[patchdata[i,j * 4 + (3 - k)],l]; if (l == 0) r[j,k,l] *= -1.0f; s[j,k,l] = (float)cpdata[patchdata[i,j * 4 + k],l]; if (l == 0) s[j,k,l] *= -1.0f; if (l == 1) s[j,k,l] *= -1.0f; } } } } cachedP[i] = new float[4*4*3]; cachedQ[i] = new float[4*4*3]; cachedR[i] = new float[4*4*3]; cachedS[i] = new float[4*4*3]; int pos; pos = 0; for(int I = 0; I < 4; I++) for(int J = 0; J < 4; J++) for(int K = 0; K < 3; K++,pos++){ cachedP[i][pos] = p[I,J,K]; cachedQ[i][pos] = q[I,J,K]; cachedR[i][pos] = r[I,J,K]; cachedS[i][pos] = s[I,J,K]; } } gl.glMap2f(gl.GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2, tex); gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedP[i]); gl.glMapGrid2f(grid, 0.0f, 1.0f, grid, 0.0f, 1.0f); gl.glEvalMesh2(type, 0, grid, 0, grid); gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedQ[i]); gl.glEvalMesh2(type, 0, grid, 0, grid); if (i < 6) { gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedR[i]); gl.glEvalMesh2(type, 0, grid, 0, grid); gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedS[i]); gl.glEvalMesh2(type, 0, grid, 0, grid); } } gl.glPopMatrix(); gl.glPopAttrib(); } protected override void DrawObject() { bool solid = true; double scale = 0.5; if (solid) DoTeaPot (7, scale, gl.GL_FILL); else DoTeaPot (10, scale, gl.GL_LINE); } } } gtkglarea-sharp-0.0.17/examples/shapes/ColoredTriangle.cs0000644000175000017500000000123310705406736023011 0ustar00samsam00000000000000 namespace GtkGL { using System; using gl=Tao.OpenGl.Gl; public class ColoredTriangle : GtkGL.GLObjectBase,GtkGL.IGLObject{ protected override void DrawObject() { gl.glBegin(gl.GL_TRIANGLES); // Drawing Using Triangles gl.glColor3f(1.0f,0.0f,0.0f); // Set The Color To Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top gl.glColor3f(0.0f,1.0f,0.0f); // Set The Color To Green gl.glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left gl.glColor3f(0.0f,0.0f,1.0f); // Set The Color To Blue gl.glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right gl.glEnd(); // Finished Drawing The Triangle } } } gtkglarea-sharp-0.0.17/examples/shapes/ColoredSquare.cs0000644000175000017500000000114410705406736022505 0ustar00samsam00000000000000namespace GtkGL { using System; using gl=Tao.OpenGl.Gl; public class ColoredSquare : GtkGL.GLObjectBase, GtkGL.IGLObject { protected override void DrawObject () { gl.glColor3f(0.5f,0.5f,1.0f); // Set The Color To Blue One Time Only gl.glBegin(gl.GL_QUADS); // Draw A Quad gl.glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left gl.glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right gl.glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right gl.glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left gl.glEnd(); // Done Drawing The Quad } } } gtkglarea-sharp-0.0.17/examples/rotate-buttons/0000777000175000017500000000000010727463043021117 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/rotate-buttons/OldTeapot.cs0000644000175000017500000001606710711216615023341 0ustar00samsam00000000000000// created on 11/25/2005 at 11:13 AM using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using System; using System.Collections; namespace GtkGL { public class OldTeapot : GtkGL.OldGLObjectBase,GtkGL.IGLObject { /* * Teapot */ /* Rim, body, lid, and bottom data must be reflected in x and y; handle and spout data across the y axis only. */ static int[,] patchdata = { /* rim */ {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, /* body */ {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27}, {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}, /* lid */ {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101, 101, 0, 1, 2, 3,}, {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117}, /* bottom */ {118, 118, 118, 118, 124, 122, 119, 121, 123, 126, 125, 120, 40, 39, 38, 37}, /* handle */ {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56}, {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 28, 65, 66, 67}, /* spout */ {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83}, {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95} }; /* *INDENT-OFF* */ static double[,] cpdata = { {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,-0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125}, {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84, 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875}, {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75, 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35}, {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2, 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12, 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225}, {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225}, {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0, -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5, -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3, 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0, 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0, 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8}, {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3, -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3, 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2, -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0, 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0, 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66, 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1}, {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7, -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0, 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375}, {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475}, {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4}, {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0, 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8, 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4, -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0, 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4, 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3, 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4}, {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425, -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425, 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075}, {0.84, -1.5, 0.075} }; static float[/*2*2*2*/] tex = { 0, 0, 1, 0, 0, 1, 1, 1 }; /* *INDENT-ON* */ static float[][] cachedP = new float[10][], cachedQ = new float[10][], cachedR = new float[10][], cachedS = new float[10][]; private void DoTeaPot(int grid, double scale, int type) { gl.glPushAttrib(gl.GL_ENABLE_BIT | gl.GL_EVAL_BIT); gl.glEnable(gl.GL_AUTO_NORMAL); gl.glEnable(gl.GL_NORMALIZE); gl.glEnable(gl.GL_MAP2_VERTEX_3); gl.glEnable(gl.GL_MAP2_TEXTURE_COORD_2); gl.glPushMatrix(); gl.glRotatef(270.0f, 1.0f, 0.0f, 0.0f); gl.glScalef((float)(0.5 * scale), (float)(0.5 * scale), (float)(0.5 * scale)); gl.glTranslatef(0.0f, 0.0f, -1.5f); float[,,] p = new float[4,4,3], q = new float[4,4,3], r = new float[4,4,3], s = new float[4,4,3]; int i, j, k, l; for (i = 0; i < 10; i++) { if(cachedP[i] == null){ for (j = 0; j < 4; j++) { for (k = 0; k < 4; k++) { for (l = 0; l < 3; l++) { p[j,k,l] = (float)cpdata[patchdata[i,j * 4 + k],l]; q[j,k,l] = (float)cpdata[patchdata[i,j * 4 + (3 - k)],l]; if (l == 1) q[j,k,l] *= -1.0f; if (i < 6) { r[j,k,l] = (float)cpdata[patchdata[i,j * 4 + (3 - k)],l]; if (l == 0) r[j,k,l] *= -1.0f; s[j,k,l] = (float)cpdata[patchdata[i,j * 4 + k],l]; if (l == 0) s[j,k,l] *= -1.0f; if (l == 1) s[j,k,l] *= -1.0f; } } } } cachedP[i] = new float[4*4*3]; cachedQ[i] = new float[4*4*3]; cachedR[i] = new float[4*4*3]; cachedS[i] = new float[4*4*3]; int pos; pos = 0; for(int I = 0; I < 4; I++) for(int J = 0; J < 4; J++) for(int K = 0; K < 3; K++,pos++){ cachedP[i][pos] = p[I,J,K]; cachedQ[i][pos] = q[I,J,K]; cachedR[i][pos] = r[I,J,K]; cachedS[i][pos] = s[I,J,K]; } } gl.glMap2f(gl.GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2, tex); gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedP[i]); gl.glMapGrid2f(grid, 0.0f, 1.0f, grid, 0.0f, 1.0f); gl.glEvalMesh2(type, 0, grid, 0, grid); gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedQ[i]); gl.glEvalMesh2(type, 0, grid, 0, grid); if (i < 6) { gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedR[i]); gl.glEvalMesh2(type, 0, grid, 0, grid); gl.glMap2f(gl.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, cachedS[i]); gl.glEvalMesh2(type, 0, grid, 0, grid); } } gl.glPopMatrix(); gl.glPopAttrib(); } protected override void DrawObject() { bool solid = true; double scale = 0.5; if (solid) DoTeaPot (7, scale, gl.GL_FILL); else DoTeaPot (10, scale, gl.GL_LINE); } } } gtkglarea-sharp-0.0.17/examples/rotate-buttons/GLObjectRotationController.cs0000644000175000017500000001611310705406736026663 0ustar00samsam00000000000000namespace GtkGL { using System; using Gtk; public class GLObjectRotationController { Glade.XML controlXML; Gtk.Window controlWindow; GtkGL.IGLObject glOb; System.Collections.Hashtable entryMap; EulerRotation eRot; /* // This handler is attached to ObjectRotationButton's Rotated event. // Every time the button modifies the object's rotation, the Rotated event fires. // When the object's rotation is modified, we modify our copy of the object's rotation. // TODO: I personally think that we should get the rotation data from the object directly, // but this proves to be difficult, as I don't know how to convert from a rotation matrix // to Euler angles without causing gimbal lock. This will likely be changed when I find // a work-around. */ private void UpdateRotationValues(object o, EventArgs e) { eRot = glOb.GetEulerRotation(); UpdateEntryFields(); } /* // This handler is attached to the entry fields' Activated event // When the user enters a new value and presses enter, this handler fires. // TODO: I also need to attach the "tabbed out of" event to this method and do some // final checks to make sure the current value is not the same as what "tabbed out of" */ private void UpdateObjectRotation(object o, EventArgs e) { // Clear the rotation state, don't fire the Update handlers glOb.ResetRotation(false); // Rotate the object based on our Euler angles // Grab the current rotation from the object eRot = glOb.GetEulerRotation(); // Get the new values from the entry fields float newX = Convert.ToSingle(((Gtk.Entry)entryMap['x']).Text.ToString()); float newY = Convert.ToSingle(((Gtk.Entry)entryMap['y']).Text.ToString()); float newZ = Convert.ToSingle(((Gtk.Entry)entryMap['z']).Text.ToString()); // Create a new rotation from these values GtkGL.EulerRotation newRot = new GtkGL.EulerRotation(newX,newY,newZ); // Find the difference between the two GtkGL.EulerRotation diffRot = eRot - newRot; // If the rotation has changed, create a quaternion from the Euler rotation // and apply it to the object if(diffRot != GtkGL.EulerRotation.Identity) glOb.Rotate(diffRot); } // This method updates the values stored in the X, Y and Z entry fields from the object's rotation // It is used more than once, so it gets its own handle :) public void UpdateEntryFields() { // Grab the current rotation eRot = glOb.GetEulerRotation(); // Normalize negative values before displaying eRot.X = (eRot.X + 360) % 360; eRot.Y = (eRot.Y + 360) % 360; eRot.Z = (eRot.Z + 360) % 360; ((Gtk.Entry) entryMap['x']).Text = eRot.X.ToString(); ((Gtk.Entry) entryMap['y']).Text = eRot.Y.ToString(); ((Gtk.Entry) entryMap['z']).Text = eRot.Z.ToString(); } // The constructor. Takes as its argument the glObject that it will control (and track) // the rotation of public GLObjectRotationController(IGLObject glObject) { // Set our member variable to the passed glObject glOb = glObject; // Grab the controlWindow widget from the glade xml controlXML = new Glade.XML (null, "rotation-controller.glade", "controlWindow", null); controlWindow = (Gtk.Window)controlXML["controlWindow"]; // Make a map to these widgets entryMap = new System.Collections.Hashtable(3); foreach (char c in new char [] {'x', 'y', 'z'}) { string widgetName = c+"RotEntry"; Gtk.Entry e = (Gtk.Entry) controlXML[widgetName]; // Align left e.Alignment = 0.0f; // When the user presses enter or tab, update the object's rotation e.Activated += UpdateObjectRotation; e.FocusOutEvent += UpdateObjectRotation; entryMap.Add(c, e); } // The controlWindow is hidden by default. Make it visible controlWindow.Visible = true; // Attach the reset button click event to our ResetRotationHandler method Gtk.Button resetButton = (Gtk.Button)controlXML["rotationResetButton"]; resetButton.Clicked += this.ResetRotationHandler; // Get the table from the glade xml Gtk.Table t = (Gtk.Table)controlXML["table1"]; // Create a counter-clockwise rotation (on the X axis) button and place it in the table ObjectRotationButton btnXMinus = new ObjectRotationButton(new Image(Stock.Remove, IconSize.Button), glOb, new GtkGL.EulerRotation(-1.0, 0.0, 0.0) ); t.Attach(btnXMinus, 2, 3, 0, 1); btnXMinus.Rotated += UpdateRotationValues; // Create a clockwise rotation (on the X axis) button and place it in the table ObjectRotationButton btnXPlus = new ObjectRotationButton(new Image(Stock.Add, IconSize.Button), glOb, new GtkGL.EulerRotation(1.0, 0.0, 0.0) ); t.Attach(btnXPlus, 3, 4, 0, 1); btnXPlus.Rotated += UpdateRotationValues; // Create a counter-clockwise rotation (on the Y axis) button and place it in the table ObjectRotationButton btnYMinus = new ObjectRotationButton(new Image(Stock.Remove, IconSize.Button), glOb, new GtkGL.EulerRotation(0.0, -1.0, 0.0) ); t.Attach(btnYMinus, 2, 3, 1, 2); btnYMinus.Rotated += UpdateRotationValues; // Create a clockwise rotation (on the Y axis) button and place it in the table ObjectRotationButton btnYPlus = new ObjectRotationButton(new Image(Stock.Add, IconSize.Button), glOb, new GtkGL.EulerRotation(0.0, 1.0, 0.0) ); t.Attach(btnYPlus, 3, 4, 1, 2); btnYPlus.Rotated += UpdateRotationValues; // Create a counter-clockwise rotation (on the Z axis) button and place it in the table ObjectRotationButton btnZMinus = new ObjectRotationButton(new Image(Stock.Remove, IconSize.Button), glOb, new GtkGL.EulerRotation(0.0, 0.0, -1.0) ); t.Attach(btnZMinus, 2, 3, 2, 3); btnZMinus.Rotated += UpdateRotationValues; // Create a clockwise rotation (on the Z axis) button and place it in the table ObjectRotationButton btnZPlus = new ObjectRotationButton(new Image(Stock.Add, IconSize.Button), glOb, new GtkGL.EulerRotation(0.0, 0.0, 1.0) ); t.Attach(btnZPlus, 3, 4, 2, 3); btnZPlus.Rotated += UpdateRotationValues; // Show the controlWindow and all of its children controlWindow.ShowAll(); } // The handler for the reset button public void ResetRotationHandler(object o, System.EventArgs e) { eRot.X = eRot.Y = eRot.Z = 0.0f; UpdateEntryFields(); glOb.ResetRotation(); } } } gtkglarea-sharp-0.0.17/examples/rotate-buttons/README0000644000175000017500000000105210705406737021774 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/rotate-buttons/Makefile.am0000644000175000017500000000071210705406736023151 0ustar00samsam00000000000000ASSEMBLY_NAME = RotateButtonExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = \ GLObjectRotationController.cs \ ObjectRotationButton.cs \ OldGLObjectBase.cs \ OldTeapot.cs \ RotateButtonExample.cs RESOURCE_FILES += \ $(srcdir)/rotation-controller.glade EXTRA_DIST += \ rotation-controller.glade include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/rotate-buttons/OldGLObjectBase.cs0000644000175000017500000001175010705406736024333 0ustar00samsam00000000000000namespace GtkGL { using System; using System.Collections; using GtkGL; using gl=Tao.OpenGl.Gl; // public abstract class GLObjectBase { // This doesn't work because of a bug: // http://bugzilla.ximian.com/show_bug.cgi?id=76122 - GLObjectBase shouldn't need to implement IGLObject public abstract class OldGLObjectBase : IGLObject { protected ArrayList GLAreaList = null; protected int shapeID; public int ID { get { return shapeID; } } public bool Selected { get { return true; } set { } } public void Scale(double[] factor) { } public void Scale(double xFactor, double yFactor, double zFactor) { } public void Scale(double factor) { } protected GtkGL.TransformationMatrix transMatrix = null; protected GtkGL.EulerRotation eRot = null; protected GtkGL.Quaternion quat = null; // our Updated event handler public event EventHandler Updated; protected virtual void DrawObject() {} // Cache the drawing of the object public new void Init() { // Do some genlist magic shapeID = gl.glGenLists (1); gl.glNewList (shapeID, gl.GL_COMPILE); DrawObject(); gl.glEndList (); } // Make setting of euler, quat and matrix an atomic action protected GtkGL.EulerRotation ERot { get { return eRot; } set { if(value == null) eRot = GtkGL.EulerRotation.Identity; else eRot = value; eRot = value; quat = eRot.ToQuaternion(); transMatrix = eRot.ToTransMatrix(); } } // Make setting of euler, quat and matrix an atomic action protected GtkGL.Quaternion Quat { get { return quat; } set { if(value == null) quat = GtkGL.Quaternion.Identity; else quat = value; eRot = quat.ToEulerRotation(); transMatrix = quat.ToTransMatrix(); } } // Make setting of euler, quat and matrix an atomic action protected GtkGL.TransformationMatrix TransMatrix { get { return transMatrix; } set { if(value == null) transMatrix = GtkGL.TransformationMatrix.Identity; else transMatrix = value; eRot = transMatrix.ToEulerRotation(); quat = transMatrix.ToQuaternion(); } } public void Translate(float x, float y, float z) { this.Translate((double) x, (double) y, (double) z); } public void Translate(double x, double y, double z) { GtkGL.TransformationMatrix tm = GtkGL.TransformationMatrix.Identity; tm.Matrix[12] = x; tm.Matrix[13] = y; tm.Matrix[14] = z; if(this.transMatrix == null) this.transMatrix = GtkGL.TransformationMatrix.Identity; this.transMatrix *= tm; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void Rotate(GtkGL.Quaternion q) { Quat *= q; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void Rotate(GtkGL.EulerRotation er) { ERot += er; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void Rotate(GtkGL.TransformationMatrix tm) { TransMatrix *= tm; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void ResetRotation() { ERot = GtkGL.EulerRotation.Identity; // Tell our handlers that we have been updated if (Updated != null) Updated (this, null); } public void ResetRotation(bool doUpdate) { ERot = GtkGL.EulerRotation.Identity; // Tell our handlers that we have been updated if (doUpdate && Updated != null) Updated (this, null); } public EulerRotation GetEulerRotation() { if(eRot != null) return eRot; ERot = GtkGL.EulerRotation.Identity; return ERot; } public Quaternion GetQuaternion() { if(quat != null) return quat; Quat = GtkGL.Quaternion.Identity; return Quat; } public TransformationMatrix GetTransformationMatrix() { if(transMatrix != null) return transMatrix; TransMatrix = GtkGL.TransformationMatrix.Identity; return TransMatrix; } public virtual bool Draw() { gl.glPushMatrix(); if(transMatrix != null){ // Apply the transformation matrix gl.glMultMatrixd(transMatrix.Matrix); } // Draw the image from the display list //gl.glCallList (shapeID); DrawObject(); gl.glPopMatrix(); return true; } } } gtkglarea-sharp-0.0.17/examples/rotate-buttons/Makefile.in0000644000175000017500000002564310711630103023154 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/rotate-buttons ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ rotation-controller.glade $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ $(srcdir)/rotation-controller.glade \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = RotateButtonExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = \ GLObjectRotationController.cs \ ObjectRotationButton.cs \ OldGLObjectBase.cs \ OldTeapot.cs \ RotateButtonExample.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/rotate-buttons/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/rotate-buttons/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/rotate-buttons/rotation-controller.glade0000644000175000017500000001730210705406736026136 0ustar00samsam00000000000000 True Control Window GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True False controlWindow True 4 4 False 0 0 True X Rotation: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 0 1 fill True Y Rotation: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 1 2 fill True Z Rotation: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 2 3 fill True True Reset True GTK_RELIEF_NORMAL True 0 4 3 4 fill 30 True True True True 0 0 True * False 1 2 0 1 30 True True True True 0 0 True * False 1 2 1 2 30 True True True True 0 0 True * False 1 2 2 3 gtkglarea-sharp-0.0.17/examples/rotate-buttons/RotateButtonExample.cs0000644000175000017500000000236110705406736025414 0ustar00samsam00000000000000// project created on 11/25/2005 at 10:32 PM using System; using Gtk; using Glade; using GtkGL; public class Engine { public static void Main (string[] args) { new Engine (args); } GLWidget glw; GLObjectRotationController controller; public Engine (string[] args) { Application.Init (); // Create a new GL widget glw = new GLWidget(); glw.GLSetup += GtkGL.GLWidget.EnableLighting; // Create a new Teapot object GtkGL.OldTeapot teapot = new OldTeapot(); // Create a controller that manages rotation of the Teapot object controller = new GLObjectRotationController(teapot); // Add our Teapot object to the GLWidget's list of associated GLObjects glw.AddGLObject( teapot ); // Read in the glade file that describes the widget layout Glade.XML gxml = new Glade.XML (null, "glwidget.glade", "glwidget", null); // Connect the Signals defined in Glade gxml.Autoconnect ( glw ); // Pack the gl window into the vbox Gtk.VBox vbox1 = (Gtk.VBox)gxml["vbox1"]; vbox1.PackStart ( glw ); // Show the GL widget Gtk.Window window = (Gtk.Window)gxml["glwidget"]; window.Show(); // Show the GL widget glw.Show(); // Go dog, go! Application.Run (); } } gtkglarea-sharp-0.0.17/examples/rotate-buttons/ObjectRotationButton.cs0000644000175000017500000000341310705406736025567 0ustar00samsam00000000000000namespace GtkGL { using System; using GtkGL; public class ObjectRotationButton : Gtk.Button { public GtkGL.Rotation rotation; private GtkGL.IGLObject glObject; private float rotAngle; GtkGL.EulerRotation eRot; private bool doRotate; public ObjectRotationButton(GtkGL.IGLObject glObject, GtkGL.EulerRotation rot) : base() { Init(glObject, rot); } public ObjectRotationButton(Gtk.Widget widget, GtkGL.IGLObject glObject, GtkGL.EulerRotation rot) : base(widget) { Init(glObject, rot); } bool pressedConnected = false; bool releasedConnected = false; private void Init(GtkGL.IGLObject glObject, GtkGL.EulerRotation rot) { this.eRot = rot; this.glObject = glObject; if(pressedConnected == false){ this.Pressed += OnPressed; pressedConnected = true; } if(releasedConnected == false){ this.Released += OnReleased; releasedConnected = true; } } void OnPressed (object o, System.EventArgs e) { doRotate = true; GLib.Timeout.Add (50, new GLib.TimeoutHandler (this.RotateObject)); } void OnReleased (object o, EventArgs e) { doRotate = false; } // our Rotated event handler public event EventHandler Rotated; bool RotateObject () { // Tell the glObject to rotate itself glObject.Rotate(eRot); // Fire off our Rotated event if(Rotated != null) Rotated(this, null); return doRotate; } } } gtkglarea-sharp-0.0.17/examples/README0000644000175000017500000000105210705406737017002 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/Makefile.am0000644000175000017500000000015010705406737020154 0ustar00samsam00000000000000SUBDIRS = \ util \ shapes \ glade \ NeHe \ trackball \ rotate-buttons \ pick-object \ resources gtkglarea-sharp-0.0.17/examples/trackball/0000777000175000017500000000000010727463043020064 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/trackball/README0000644000175000017500000000105210705406737020741 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/trackball/Makefile.am0000644000175000017500000000052210705406736022115 0ustar00samsam00000000000000ASSEMBLY_NAME = TrackballExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = \ TrackballExample.cs \ TrackballWidget.cs \ Trackball.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/trackball/TrackballExample.cs0000644000175000017500000000232510705406736023626 0ustar00samsam00000000000000// project created on 11/25/2005 at 10:32 PM using System; using Gtk; using Glade; using GtkGL; public class TrackballExample { public static void Main (string[] args) { new TrackballExample (args); } GtkGL.TrackballWidget glw; public TrackballExample (string[] args) { Application.Init (); // Create a new GL widget glw = new TrackballWidget(); // Create a new Teapot object GtkGL.Teapot teapot = new Teapot(); // Add our Teapot object to the GLWidget's list of associated GLObjects glw.AddGLObject( teapot ); // Read in the glade file that describes the widget layout Glade.XML gxml = new Glade.XML (null, "glwidget.glade", "glwidget", null); // Connect the Signals defined in Glade gxml.Autoconnect (this); // Pack the gl window into the vbox Gtk.VBox vbox1 = (Gtk.VBox)gxml["vbox1"]; vbox1.PackStart ( glw ); // Show the GL widget Gtk.Window window = (Gtk.Window)gxml["glwidget"]; window.Show(); glw.Show(); // Go dog. Go! Application.Run (); } private void OnQuit (object o, System.EventArgs e){ Application.Quit(); } private void OnWindowDeleteEvent (object sender, DeleteEventArgs a) { Application.Quit (); a.RetVal = true; } } gtkglarea-sharp-0.0.17/examples/trackball/TrackballWidget.cs0000644000175000017500000000616210705406736023461 0ustar00samsam00000000000000using System; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using GtkGL; namespace GtkGL { public class TrackballWidget: GtkGL.GLWidget { //Trackball.Trackball tb = new Trackball.Trackball(); double beginX = 0; double beginY = 0; bool button1Pressed = false; GtkGL.Quaternion quat = null; Trackball tb = new Trackball(); public TrackballWidget() : base() { base.GLSetup += GtkGL.GLWidget.EnableLighting; // Create and initialize the quaternion quat = new GtkGL.Quaternion(0.0, 0.0, 0.0, 1.0); connectHandlers(); } void connectHandlers() { this.Events |= Gdk.EventMask.Button1MotionMask | Gdk.EventMask.Button2MotionMask | Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.VisibilityNotifyMask | Gdk.EventMask.PointerMotionMask | Gdk.EventMask.PointerMotionHintMask ; this.ButtonPressEvent += OnButtonPress; this.ButtonReleaseEvent += OnButtonRelease; this.MotionNotifyEvent += OnMotionNotify; // Use this OnExposed instead of GlWidget's this.ExposeEvent -= base.OnExposed; this.ExposeEvent += OnExposed; } // Track mouse dragging void OnMotionNotify (object o, Gtk.MotionNotifyEventArgs e) { int ix, iy; double x, y; Gdk.ModifierType m; // Find the current mouse X and Y positions if (e.Event.IsHint) { e.Event.Window.GetPointer(out ix, out iy, out m); x = (double)ix; y = (double)iy; } else { x = e.Event.X; y = e.Event.Y; } if(button1Pressed == true){ // Create a quaternion based on the mouse movement float[] spinQuat = new float[4]; tb.trackball(ref spinQuat, (float) ((2.0 * beginX - this.Allocation.Width) / this.Allocation.Width), (float) ((this.Allocation.Height - 2.0 * beginY) / this.Allocation.Height), (float) ((2.0 * x - this.Allocation.Width) / this.Allocation.Width), (float) ((this.Allocation.Height - 2.0 * y) / this.Allocation.Height)); // Add created quaternion to the current quat to get the new spin // Quaternion newQuat = new Quaternion(spinQuat); Quaternion newQuat = new Quaternion((double) spinQuat[3], (double) spinQuat[0], (double) spinQuat[1], (double) spinQuat[2] ); // Apply rotation to all objects System.Collections.IEnumerator enumerator = GLObjectList.GetEnumerator(); while(enumerator.MoveNext()){ ( (GtkGL.IGLObject) enumerator.Current ).Rotate(newQuat); } // Reset the "old" X and Y positions beginX = x; beginY = y; } } void OnButtonPress (object o, Gtk.ButtonPressEventArgs e) { if(e.Event.Button == 1){ button1Pressed = true; /* potential beginning of drag, reset mouse position */ beginX = e.Event.X; beginY = e.Event.Y; return; } } void OnButtonRelease (object o, Gtk.ButtonReleaseEventArgs e) { if(e.Event.Button == 1){ button1Pressed = false; } } } }gtkglarea-sharp-0.0.17/examples/trackball/Makefile.in0000644000175000017500000002611510711630104022115 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/trackball ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = TrackballExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = \ TrackballExample.cs \ TrackballWidget.cs \ Trackball.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/trackball/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/trackball/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/trackball/Trackball.cs0000644000175000017500000001736410705406736022323 0ustar00samsam00000000000000/* * (c) Copyright 1993, 1994, Silicon Graphics, Inc. * Port to C# (c) Copyright 2005 C.J. Collier * ALL RIGHTS RESERVED * Permission to use, copy, modify, and distribute this software for * any purpose and without fee is hereby granted, provided that the above * copyright notice appear in all copies and that both the copyright notice * and this permission notice appear in supporting documentation, and that * the name of Silicon Graphics, Inc. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. */ using System; public class Trackball { /* * This size should really be based on the distance from the center of * rotation to the point on the object underneath the mouse. That * point would then track the mouse as closely as possible. This is a * simple example, though, so that is left as an Exercise for the * Programmer. */ const float TRACKBALLSIZE = 0.8f; /* * Pass the x and y coordinates of the last and current positions of * the mouse, scaled so they are from (-1.0 ... 1.0). * * The resulting rotation is returned as a quaternion rotation in the * first paramater. */ public void trackball(ref float[] q, float p1x, float p1y, float p2x, float p2y) { float[] a = new float[3]; /* Axis of rotation */ float phi; /* how much to rotate about axis */ float[] p1 = new float[3], p2 = new float[3], d = new float[3]; float t; if (p1x == p2x && p1y == p2y) { /* Zero rotation */ vzero(ref q); q[3] = 1.0f; return; } /* * First, figure out z-coordinates for projection of P1 and P2 to * deformed sphere */ vset(ref p1,p1x,p1y,tb_project_to_sphere(TRACKBALLSIZE,p1x,p1y)); vset(ref p2,p2x,p2y,tb_project_to_sphere(TRACKBALLSIZE,p2x,p2y)); /* * Now, we want the cross product of P1 and P2 */ vcross(p2,p1, ref a); /* * Figure out how much to rotate around that axis. */ vsub(p1,p2, ref d); t = vlength(d) / (2.0f*TRACKBALLSIZE); /* * Avoid problems with out-of-control values... */ if (t > 1.0f) t = 1.0f; if (t < -1.0f) t = -1.0f; phi = 2.0f * (float)System.Math.Asin(t); axis_to_quat(a,phi, ref q); } /* * Given two rotations, q1 and q2, expressed as quaternion rotations, * figure out the equivalent single rotation and stuff it into dest. * Adding quaternions to get a compound rotation is analagous to adding * translations to get a compound translation. When incrementally * adding rotations, the first argument here should be the new * rotation, the second and third the total rotation (which will be * over-written with the resulting new total rotation). * * This routine also normalizes the result every RENORMCOUNT times it is * called, to keep error from creeping in. * * NOTE: This routine is written so that q1 or q2 may be the same * as dest (or each other). */ const int RENORMCOUNT = 97; static int count=0; public void add_quats(float[] q1, float[] q2, ref float[] dest) { float[] t1 = new float[4], t2 = new float[4], t3 = new float[4]; float[] tf = new float[4]; vcopy(q1,ref t1); vscale(ref t1,q2[3]); vcopy(q2,ref t2); vscale(ref t2,q1[3]); vcross(q2,q1,ref t3); vadd(t1,t2,ref tf); vadd(t3,tf,ref tf); tf[3] = q1[3] * q2[3] - vdot(q1,q2); dest[0] = tf[0]; dest[1] = tf[1]; dest[2] = tf[2]; dest[3] = tf[3]; if (++count > RENORMCOUNT) { count = 0; normalize_quat(ref dest); } } /* * A useful function, builds a rotation matrix in Matrix based on * given quaternion. */ public void build_rotmatrix(ref float[] m, float[] q) { m[4 * 0 + 0] = 1.0f - 2.0f * (q[1] * q[1] + q[2] * q[2]); m[4 * 0 + 1] = 2.0f * (q[0] * q[1] - q[2] * q[3]); m[4 * 0 + 2] = 2.0f * (q[2] * q[0] + q[1] * q[3]); m[4 * 0 + 3] = 0.0f; m[4 * 1 + 0] = 2.0f * (q[0] * q[1] + q[2] * q[3]); m[4 * 1 + 1]= 1.0f - 2.0f * (q[2] * q[2] + q[0] * q[0]); m[4 * 1 + 2] = 2.0f * (q[1] * q[2] - q[0] * q[3]); m[4 * 1 + 3] = 0.0f; m[4 * 2 + 0] = 2.0f * (q[2] * q[0] - q[1] * q[3]); m[4 * 2 + 1] = 2.0f * (q[1] * q[2] + q[0] * q[3]); m[4 * 2 + 2] = 1.0f - 2.0f * (q[1] * q[1] + q[0] * q[0]); m[4 * 2 + 3] = 0.0f; m[4 * 3 + 0] = 0.0f; m[4 * 3 + 1] = 0.0f; m[4 * 3 + 2] = 0.0f; m[4 * 3 + 3] = 1.0f; } /* * This function computes a quaternion based on an axis (defined by * the given vector) and an angle about which to rotate. The angle is * expressed in radians. The result is put into the third argument. */ public void axis_to_quat(float[] a, float phi, ref float[] q) { vnormal(ref a); vcopy(a,ref q); vscale(ref q,(float)Math.Sin(phi/2.0f)); q[3] = (float)Math.Cos(phi/2.0f); } /* * Project an x,y pair onto a sphere of radius r OR a hyperbolic sheet * if we are away from the center of the sphere. */ private static float tb_project_to_sphere(float r, float x, float y) { float d, t, z; d = (float)Math.Sqrt(x*x + y*y); if (d < r * 0.70710678118654752440) { /* Inside sphere */ z = (float)Math.Sqrt(r*r - d*d); } else { /* On hyperbola */ t = r / 1.41421356237309504880f; z = t*t / d; } return z; } /* * Quaternions always obey: a^2 + b^2 + c^2 + d^2 = 1.0 * If they don't add up to 1.0, dividing by their magnitued will * renormalize them. * * Note: See the following for more information on quaternions: * * - Shoemake, K., Animating rotation with quaternion curves, Computer * Graphics 19, No 3 (Proc. SIGGRAPH'85), 245-254, 1985. * - Pletinckx, D., Quaternion calculus as a basic tool in computer * graphics, The Visual Computer 5, 2-13, 1989. */ private static void normalize_quat(ref float[] q) { int i; float mag; mag = (q[0]*q[0] + q[1]*q[1] + q[2]*q[2] + q[3]*q[3]); for (i = 0; i < 4; i++) q[i] /= mag; } /* * Zero a vector */ private void vzero(ref float[] v) { v[0] = 0.0f; v[1] = 0.0f; v[2] = 0.0f; } /* * Set a vector's scalar values */ private void vset(ref float[] v, float x, float y, float z) { v[0] = x; v[1] = y; v[2] = z; } /* * Subtract one vector from another */ private void vsub(float[] src1, float[] src2, ref float[] dst) { dst[0] = src1[0] - src2[0]; dst[1] = src1[1] - src2[1]; dst[2] = src1[2] - src2[2]; } /* * Copy a vector */ private void vcopy(float[] v1, ref float[] v2) { int i; for (i = 0 ; i < 3 ; i++) v2[i] = v1[i]; } /* * Cross-multiply two vectors */ private void vcross(float[] v1, float[] v2, ref float[] cross) { float[] temp = new float[3]; temp[0] = (v1[1] * v2[2]) - (v1[2] * v2[1]); temp[1] = (v1[2] * v2[0]) - (v1[0] * v2[2]); temp[2] = (v1[0] * v2[1]) - (v1[1] * v2[0]); vcopy(temp, ref cross); } /* * Find the length of a vector */ private float vlength(float[] v) { return (float)Math.Sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); } /* * Scale a vector */ private void vscale(ref float[] v, float div) { v[0] *= div; v[1] *= div; v[2] *= div; } /* * Normalize a vector */ private void vnormal(ref float[] v) { vscale(ref v,1.0f/vlength(v)); } /* * Find dot product of a vector */ private float vdot(float[] v1, float[] v2) { return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; } /* * Add two vectors */ private void vadd(float[] src1, float[] src2, ref float[] dst) { dst[0] = src1[0] + src2[0]; dst[1] = src1[1] + src2[1]; dst[2] = src1[2] + src2[2]; } }gtkglarea-sharp-0.0.17/examples/Include.am0000644000175000017500000000217710711210666020024 0ustar00samsam00000000000000ASSEMBLY=$(ASSEMBLY_NAME).$(ASSEMBLY_EXT) ## Set or append to EXTRA_DIST EXTRA_DIST += $(addprefix $(srcdir)/, $(SOURCE_FILES)) ## Set or append to CLEANFILES CLEANFILES += \ $(ASSEMBLY) \ $(ASSEMBLY).pidb \ $(ASSEMBLY).mdb ## Set or append to MCS_ARGS MCS_ARGS += \ -debug \ -lib:@top_builddir@/gtkglarea \ $(addprefix -resource:, $(RESOURCE_FILES)) \ -pkg:gtk-sharp-2.0 \ -pkg:tao-opengl \ -nowarn:0169 \ -r:gtkglarea-sharp.dll ## Set or append to MONO_PATH MONO_PATH += :@top_builddir@/gtkglarea: ## Set or append to ASSEMBLY_DEPS ASSEMBLY_DEPS += \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) ## The all (default) target all: $(ASSEMBLY) ## Add the run target run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) ## And of course, the target to build this assembly $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) ## We can't forget to decribe how to build gtkglarea-sharp.dll @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll gtkglarea-sharp-0.0.17/examples/Makefile.in0000644000175000017500000003515010711630102020153 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = examples DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ util \ shapes \ glade \ NeHe \ trackball \ rotate-buttons \ pick-object \ resources all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/0000777000175000017500000000000010727463042016743 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/0000777000175000017500000000000010727463043020372 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/03/0000777000175000017500000000000010727463043020614 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/03/Lesson03.cs0000644000175000017500000000220110705406735022541 0ustar00samsam00000000000000// created on 12/13/2005 at 1:51 PM using System; using Gtk; using GtkSharp; using GtkGL; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace NeHe.Lesson03 { public class Lesson03 { public static int Main (string[] argc) { Application.Init (); GtkGL.GladeExample gladeWindow = new GtkGL.GladeExample(); // Create a new Triangle object, translate it a bit and add it to our gl window ColoredTriangle triangle = new ColoredTriangle(); triangle.Translate(-1.5,0.0,-3); gladeWindow.glw.AddGLObject( triangle ); // Create a new Square object, translate it a bit and add it to our gl window ColoredSquare square = new ColoredSquare(); square.Translate(1.5,0.0,-3); gladeWindow.glw.AddGLObject( square ); // Show GL Window // Is this a bug? Shouldn't ShowAll do what these two commands do? // gladeWindow.glwidget.ShowAll(); gladeWindow.glwidget.Show(); gladeWindow.glw.Show(); Application.Run (); return 0; } } } gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/03/README0000644000175000017500000000105210705406737021471 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/03/Makefile.am0000644000175000017500000000043210705406735022644 0ustar00samsam00000000000000ASSEMBLY_NAME = Lesson03 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson03.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/03/Makefile.in0000644000175000017500000002604510711630102022645 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/NeHe/Lessons/03 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = Lesson03 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson03.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/03/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/03/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/05/0000777000175000017500000000000010727463043020616 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/05/Lesson05.cs0000644000175000017500000000306510705406735022556 0ustar00samsam00000000000000// created on 12/13/2005 at 1:51 PM using System; using System.Timers; using Gtk; using GtkSharp; using GtkGL; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace NeHe { public class Lesson05 { static GtkGL.GladeExample gladeWindow; static Cube cube; static Pyramid pyramid; public static int Main (string[] argc) { Application.Init (); GtkGL.GladeExample gladeWindow = new GtkGL.GladeExample(); // Create a new Triangle object, translate it a bit and add it to our gl window pyramid = new Pyramid(); pyramid.Translate(-1.5,0.0,-3); gladeWindow.glw.AddGLObject( pyramid ); // Create a new Square object, translate it a bit and add it to our gl window cube = new Cube(); cube.Translate(1.5,0.0,-3); gladeWindow.glw.AddGLObject( cube ); // Show GL Window // Is this a bug? Shouldn't ShowAll do what these two commands do? // gladeWindow.glwidget.ShowAll(); gladeWindow.glwidget.Show(); gladeWindow.glw.Show(); // Rotate (and draw) our objects once evry 50 ms GLib.Timeout.Add (50, new GLib.TimeoutHandler (NeHe.Lesson05.RotateObjects)); Application.Run (); return 0; } static GtkGL.Quaternion pyramidRot = new GtkGL.EulerRotation(-0.05, -0.05, -0.05).ToQuaternion(); static GtkGL.Quaternion cubeRot = new GtkGL.EulerRotation(0.05, 0.05, 0.05).ToQuaternion(); public static bool RotateObjects() { pyramid.Rotate(pyramidRot); cube.Rotate(cubeRot); return true; } } } gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/05/README0000644000175000017500000000105210705406737021473 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/05/Makefile.am0000644000175000017500000000043110705406735022645 0ustar00samsam00000000000000ASSEMBLY_NAME = Lesson05 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson05.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/05/Makefile.in0000644000175000017500000002604510711630102022647 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/NeHe/Lessons/05 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = Lesson05 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson05.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/05/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/05/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/02/0000777000175000017500000000000010727463043020613 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/02/Lesson02.cs0000644000175000017500000000213710705406735022547 0ustar00samsam00000000000000// created on 12/13/2005 at 1:51 PM using System; using Gtk; using GtkSharp; using GtkGL; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace NeHe { public class Lesson02 { public static int Main (string[] argc) { Application.Init (); GtkGL.GladeExample gladeWindow = new GtkGL.GladeExample(); // Create a new Triangle object, translate it a bit and add it to our gl window Triangle triangle = new Triangle(); triangle.Translate(-1.5,0.0,-3); gladeWindow.glw.AddGLObject( triangle ); // Create a new Square object, translate it a bit and add it to our gl window Square square = new Square(); square.Translate(1.5,0.0,-3); gladeWindow.glw.AddGLObject( square ); // Show GL Window // Is this a bug? Shouldn't ShowAll do what these two commands do? // gladeWindow.glwidget.ShowAll(); gladeWindow.glwidget.Show(); gladeWindow.glw.Show(); Application.Run (); return 0; } } } gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/02/README0000644000175000017500000000105210705406737021470 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/02/Makefile.am0000644000175000017500000000043110705406735022642 0ustar00samsam00000000000000ASSEMBLY_NAME = Lesson02 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson02.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/02/Makefile.in0000644000175000017500000002604510711630102022644 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/NeHe/Lessons/02 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = Lesson02 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson02.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/02/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/02/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/Makefile.am0000644000175000017500000000005610705406736022425 0ustar00samsam00000000000000SUBDIRS = \ 01 \ 02 \ 03 \ 04 \ 05 \ 06 gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/04/0000777000175000017500000000000010727463043020615 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/04/Lesson04.cs0000644000175000017500000000326110705406735022552 0ustar00samsam00000000000000// created on 12/13/2005 at 1:51 PM using System; using System.Timers; using Gtk; using GtkSharp; using GtkGL; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace NeHe { public class Lesson04 { static GtkGL.GladeExample gladeWindow; static GtkGL.ColoredSquare square; static GtkGL.ColoredTriangle triangle; public static int Main (string[] argc) { Application.Init (); GtkGL.GladeExample gladeWindow = new GtkGL.GladeExample(); // Create a new Triangle object, translate it a bit and add it to our gl window triangle = new GtkGL.ColoredTriangle(); triangle.Translate(-1.5,0.0,-3); gladeWindow.glw.AddGLObject( triangle ); // Create a new Square object, translate it a bit and add it to our gl window square = new GtkGL.ColoredSquare(); square.Translate(1.5,0.0,-3); gladeWindow.glw.AddGLObject( square ); // Show GL Window // Is this a bug? Shouldn't ShowAll do what these two commands do? // gladeWindow.glwidget.ShowAll(); gladeWindow.glwidget.Show(); gladeWindow.glw.Show(); // Rotate (and draw) our objects once evry 50 ms GLib.Timeout.Add (50, new GLib.TimeoutHandler (NeHe.Lesson04.RotateObjects)); Application.Run (); return 0; } static GtkGL.Quaternion triRot = new GtkGL.EulerRotation(0, 0.05, 0).ToQuaternion(); static GtkGL.Quaternion squareRot = new GtkGL.EulerRotation(0, 0, 0.05).ToQuaternion(); public static bool RotateObjects() { triangle.Rotate(triRot); square.Rotate(squareRot); return true; } } } gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/04/README0000644000175000017500000000105210705406737021472 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/04/Makefile.am0000644000175000017500000000043110705406735022644 0ustar00samsam00000000000000ASSEMBLY_NAME = Lesson04 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson04.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/04/Makefile.in0000644000175000017500000002604510711630102022646 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/NeHe/Lessons/04 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = Lesson04 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson04.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/04/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/04/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/Makefile.in0000644000175000017500000003511610711630103022423 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = examples/NeHe/Lessons DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ 01 \ 02 \ 03 \ 04 \ 05 \ 06 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/01/0000777000175000017500000000000010727463043020612 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/01/Lesson01.cs0000644000175000017500000000132710705406735022545 0ustar00samsam00000000000000// created on 12/13/2005 at 1:51 PM using System; using Gtk; using GtkSharp; using GtkGL; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace NeHe { public class Lesson01 { public static int Main (string[] args) { Gtk.Application.Init (); GtkGL.GladeExample gladeWindow = new GtkGL.GladeExample (); // Show GL Window // Is this a bug? Shouldn't ShowAll do what these two commands do? // gladeWindow.glwidget.ShowAll(); gladeWindow.glwidget.Show(); gladeWindow.glw.Show(); Gtk.Application.Run (); return 0; } } } gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/01/README0000644000175000017500000000105210705406737021467 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/01/Makefile.am0000644000175000017500000000043410705406735022644 0ustar00samsam00000000000000ASSEMBLY_NAME = Lesson01 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson01.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/01/Makefile.in0000644000175000017500000002604510711630102022643 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/NeHe/Lessons/01 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = Lesson01 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson01.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/01/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/01/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/06/0000777000175000017500000000000010727463043020617 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/06/README0000644000175000017500000000105210705406737021474 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/06/Lesson06.cs0000644000175000017500000002114410705406736022557 0ustar00samsam00000000000000using System; using System.Timers; using Gtk; using GtkSharp; using GtkGL; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace NeHe.Lesson06 { public class Lesson06 { /* GlArea is the widget defined in the GtkGL namespace and is a * specialized GtkDrawingArea with GL cow powers. */ GLArea glarea; /* attrList * Specifies a list of Boolean attributes and enum/integer * attribute/value pairs. The last attribute must be zero or * _GDK_GL_CONFIGS.None. * * See glXChooseVisual man page for explanation of * attrList. * * http://www.xfree86.org/4.4.0/glXChooseVisual.3.html */ int[] attrlist = { (int)GtkGL._GDK_GL_CONFIGS.Rgba, (int)GtkGL._GDK_GL_CONFIGS.RedSize,1, (int)GtkGL._GDK_GL_CONFIGS.GreenSize,1, (int)GtkGL._GDK_GL_CONFIGS.BlueSize,1, (int)GtkGL._GDK_GL_CONFIGS.DepthSize,1, (int)GtkGL._GDK_GL_CONFIGS.Doublebuffer, (int)GtkGL._GDK_GL_CONFIGS.None, }; float rtri; // Angle For The Triangle float rquad; // Angle For The Quad // This method is called "ReSizeGLScene" in the original lesson void OnConfigure (object o, EventArgs e) { if( glarea.MakeCurrent() == 0) return; int height = glarea.Allocation.Height, width = glarea.Allocation.Width; Console.WriteLine("Width: {0}", width); Console.WriteLine("Height: {0}", height); if (height==0) // Prevent A Divide By Zero By { height=1; // Making Height Equal One } gl.glViewport (0, 0, width, height); gl.glMatrixMode(gl.GL_PROJECTION); // Select The Projection Matrix gl.glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window glu.gluPerspective(45.0f,(float)width/(float)height,0.1f,100.0f); gl.glMatrixMode(gl.GL_MODELVIEW); // Select The Modelview Matrix gl.glLoadIdentity(); } bool InitGL() { if (glarea.MakeCurrent() == 0) return false; gl.glShadeModel(gl.GL_SMOOTH); // Enables Smooth Shading gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background gl.glClearDepth(1.0f); // Depth Buffer Setup gl.glEnable(gl.GL_DEPTH_TEST); // Enables Depth Testing gl.glDepthFunc(gl.GL_LEQUAL); // The Type Of Depth Test To Do // Really Nice Perspective Calculations gl.glHint(gl.GL_PERSPECTIVE_CORRECTION_HINT, gl.GL_NICEST); return true; } // The correct time to init the gl window is at Realize time void OnRealized (object o, EventArgs e) { if(!InitGL()) Console.WriteLine("Couldn't InitGL()"); } // This method is called "DrawGLScene" in the original lesson void OnExposed (object o, EventArgs e) { if (glarea.MakeCurrent() == 0) return; // Clear The Screen And The Depth Buffer gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT); gl.glLoadIdentity(); // Reset The Current Modelview Matrix gl.glTranslatef(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0 gl.glRotatef(rtri,0.0f,1.0f,0.0f); // Rotate The Pyramid On The Y axis gl.glBegin(gl.GL_TRIANGLES); // Start drawing the Pyramid gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Front) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Left Of Triangle (Front) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Right Of Triangle (Front) gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Right) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Left Of Triangle (Right) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f( 1.0f,-1.0f, -1.0f); // Right Of Triangle (Right) gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Back) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f( 1.0f,-1.0f, -1.0f); // Left Of Triangle (Back) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f(-1.0f,-1.0f, -1.0f); // Right Of Triangle (Back) gl.glColor3f(1.0f,0.0f,0.0f); // Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Left) gl.glColor3f(0.0f,0.0f,1.0f); // Blue gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Left Of Triangle (Left) gl.glColor3f(0.0f,1.0f,0.0f); // Green gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Right Of Triangle (Left) gl.glEnd(); // Finished Drawing The Pyramid gl.glLoadIdentity(); // If this didn't happen, weird rotation happens gl.glTranslatef(1.5f,0.0f,-7.0f); // Move Right 1.5 Units And Into The Screen 6.0 gl.glRotatef(rquad,1.0f,1.0f,1.0f); // Rotate The Quad On The X axis ( NEW ) gl.glBegin(gl.GL_QUADS); // Draw a Cube gl.glColor3f(0.0f,1.0f,0.0f); // Set The Color To Green gl.glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Top) gl.glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Top) gl.glVertex3f(-1.0f, 1.0f, 1.0f); // Bottom Left Of The Quad (Top) gl.glVertex3f( 1.0f, 1.0f, 1.0f); // Bottom Right Of The Quad (Top) gl.glColor3f(1.0f,0.5f,0.0f); // Set The Color To Orange gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Top Right Of The Quad (Bottom) gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Top Left Of The Quad (Bottom) gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Bottom) gl.glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Bottom) gl.glColor3f(1.0f,0.0f,0.0f); // Set The Color To Red gl.glVertex3f( 1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Front) gl.glVertex3f(-1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Front) gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Front) gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Front) gl.glColor3f(1.0f,1.0f,0.0f); // Set The Color To Yellow gl.glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Back) gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Back) gl.glVertex3f(-1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Back) gl.glVertex3f( 1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Back) gl.glColor3f(0.0f,0.0f,1.0f); // Set The Color To Blue gl.glVertex3f(-1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Left) gl.glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Left) gl.glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Left) gl.glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Left) gl.glColor3f(1.0f,0.0f,1.0f); // Set The Color To Violet gl.glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Right) gl.glVertex3f( 1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Right) gl.glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Right) gl.glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Right) gl.glEnd(); // Done Drawing The Cube glarea.SwapBuffers (); // Show the newly displayed contents } public static int Main (string[] argc) { Gtk.Application.Init (); System.Timers.Timer t = new System.Timers.Timer(); Lesson06 l = new Lesson06(); GLib.Timeout.Add (50, new GLib.TimeoutHandler (l.RotateObjects)); // Go, dog, go! Gtk.Application.Run (); return 1; } private bool RotateObjects() { rtri = (rtri % 360) + 1.0f; rquad = (rquad % 360) + 0.8f; if( glarea.MakeCurrent() == 0) return true; glarea.QueueDraw(); return true; } public Lesson06() { // Create a new GLArea widget and request a size glarea = new GLArea (attrlist); glarea.SetSizeRequest (300, 300); // Set some event handlers glarea.ExposeEvent += OnExposed; glarea.Realized += OnRealized; glarea.Unrealized += OnUnrealized; glarea.ConfigureEvent += OnConfigure; // Create a new Vertical Box that the GLArea can live in VBox vb = new VBox (false, 0); // Pack the GLArea widget into the VBox vb.PackStart (glarea, true, true, 0); // Create a new window and name it appropriately Window win = new Window ("NeHe Lesson06"); // Pack the VBox into the window win.Add (vb); // Show all of win's contained widgets win.ShowAll (); } void OnUnrealized (object o, EventArgs e) { Application.Quit(); } } } gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/06/Makefile.am0000644000175000017500000000043110705406736022647 0ustar00samsam00000000000000ASSEMBLY_NAME = Lesson06 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson06.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/NeHe/Lessons/06/Makefile.in0000644000175000017500000002604510711630102022650 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/NeHe/Lessons/06 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = Lesson06 ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = Lesson06.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Lessons/06/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Lessons/06/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/NeHe/README0000644000175000017500000000105210705406737017621 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/NeHe/Makefile.am0000644000175000017500000000002310705406736020771 0ustar00samsam00000000000000SUBDIRS = Lessons gtkglarea-sharp-0.0.17/examples/NeHe/Makefile.in0000644000175000017500000003504010711630103020771 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = examples/NeHe DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = Lessons all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/NeHe/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/NeHe/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/pick-object/0000777000175000017500000000000010727463043020317 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/examples/pick-object/ObjectPickExample.cs0000644000175000017500000000120610705406736024174 0ustar00samsam00000000000000 namespace GtkGL { using System; using Gtk; public class ObjectPickExample { public GtkGL.PickWidget glw; public Gtk.Window window; Glade.XML gxml; public ObjectPickExample() { // Create a new GL widget glw = new PickWidget(); // Read in the glade file that describes the widget layout gxml = new Glade.XML (null, "glwidget.glade", "glwidget", null); // Connect the Signals defined in Glade gxml.Autoconnect (glw); // Pack the gl window into the vbox Gtk.VBox vbox1 = (Gtk.VBox)gxml["vbox1"]; vbox1.PackStart ( glw ); window = (Gtk.Window)gxml["glwidget"]; } } } gtkglarea-sharp-0.0.17/examples/pick-object/README0000644000175000017500000000105210705406737021174 0ustar00samsam00000000000000These examples are a playground for the GtkGLAreaSharp library. If you want to try something with the library, but do not have the time or energy to maintain a project, consider creating and maintaining an example instead. Some of the examples depend on libraries in the examples/util/, examples/shapes/ and/or examples/glade/ directories. If you change code there, you may need to re-run 'make' from the examples/ directory in order to re-build the .dll files. To run the examples, issue the command 'make run' from any of the example directories. gtkglarea-sharp-0.0.17/examples/pick-object/Makefile.am0000644000175000017500000000050610705406736022352 0ustar00samsam00000000000000ASSEMBLY_NAME = PickExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = \ Engine.cs \ PickWidget.cs \ ObjectPickExample.cs include $(top_srcdir)/examples/glade/Include.am include $(top_srcdir)/examples/shapes/Include.am include $(top_srcdir)/examples/util/Include.am include $(top_srcdir)/examples/Include.am gtkglarea-sharp-0.0.17/examples/pick-object/Makefile.in0000644000175000017500000002610710711630103022350 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/examples/Include.am \ $(top_srcdir)/examples/glade/Include.am \ $(top_srcdir)/examples/shapes/Include.am \ $(top_srcdir)/examples/util/Include.am subdir = examples/pick-object ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = @ASSEMBLY_DEPS@ \ @top_builddir@/examples/glade/GladeExample.dll \ @top_builddir@/examples/shapes/shapes.dll \ @top_builddir@/examples/util/gtkglarea-sharp-util.dll \ @top_builddir@/gtkglarea/gtkglarea-sharp.dll $(addprefix \ $(srcdir)/, $(SOURCE_FILES)) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = @CLEANFILES@ $(ASSEMBLY) $(ASSEMBLY).pidb $(ASSEMBLY).mdb CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = @EXTRA_DIST@ $(addprefix $(srcdir)/, $(SOURCE_FILES)) FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = @MCS_ARGS@ -lib:@top_builddir@/examples/glade \ -r:GladeExample.dll -pkg:glade-sharp-2.0 \ -lib:@top_builddir@/examples/shapes -r:shapes.dll \ -lib:@top_builddir@/examples/util -r:gtkglarea-sharp-util.dll \ -debug -lib:@top_builddir@/gtkglarea $(addprefix -resource:, \ $(RESOURCE_FILES)) -pkg:gtk-sharp-2.0 -pkg:tao-opengl \ -nowarn:0169 -r:gtkglarea-sharp.dll MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ :@top_builddir@/examples/glade: \ :@top_builddir@/examples/shapes: \ :@top_builddir@/examples/util: :@top_builddir@/gtkglarea: PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ \ $(top_srcdir)/examples/resources/glwidget.glade RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ASSEMBLY_NAME = PickExample ASSEMBLY_TYPE = winexe ASSEMBLY_EXT = exe SOURCE_FILES = \ Engine.cs \ PickWidget.cs \ ObjectPickExample.cs ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/glade/Include.am $(top_srcdir)/examples/shapes/Include.am $(top_srcdir)/examples/util/Include.am $(top_srcdir)/examples/Include.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/pick-object/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/pick-object/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am @top_builddir@/examples/glade/GladeExample.dll: $(MAKE) -C @top_builddir@/examples/glade GladeExample.dll @top_builddir@/examples/shapes/shapes.dll: $(MAKE) -C @top_builddir@/examples/shapes shapes.dll @top_builddir@/examples/util/gtkglarea-sharp-util.dll: $(MAKE) -C @top_builddir@/examples/util gtkglarea-sharp-util.dll all: $(ASSEMBLY) run: $(ASSEMBLY) MONO_PATH="$(MONO_PATH)" mono $(ASSEMBLY) $(ASSEMBLY): $(ASSEMBLY_DEPS) $(MCS) \ /t:$(ASSEMBLY_TYPE) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ -out:$(ASSEMBLY) @top_builddir@/gtkglarea/gtkglarea-sharp.dll: $(MAKE) -C @top_builddir@/gtkglarea gtkglarea-sharp.dll # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/examples/pick-object/Engine.cs0000644000175000017500000000345610705406736022061 0ustar00samsam00000000000000// created on 12/13/2005 at 1:51 PM using System; using System.Timers; using Gtk; using GtkSharp; using GtkGL; // This code is based on work from Alp Toker and the NeHe lesson here: // http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 namespace GtkGL { public class Engine { public static int Main (string[] argc) { Application.Init (); ObjectPickExample example = new ObjectPickExample(); // Create a new Pyramid object, translate it a bit left and add it to our gl window Pyramid pyramid = new Pyramid(); pyramid.Translate(-1.5,0.0,-3); example.glw.AddGLObject( pyramid ); pyramid.SelectedEvent += Throb; // Create a new Cube object, translate it a bit right and add it to our gl window Cube cube = new GtkGL.Cube(); cube.Translate(1.5,0.0,-3); example.glw.AddGLObject( cube ); cube.SelectedEvent += Throb; // Show GL Window // Is this a bug? Shouldn't ShowAll do what these two commands do? // engine.window.ShowAll(); example.window.Show(); example.glw.Show(); Application.Run (); return 0; } public static void Throb (object o, System.EventArgs e) { // This function should scale object o up on x,y and z // then it should scale up further // until it gets big enough // then it should scale it down // until it's the original size // then scale down a bit // until it gets small enough // and then do the opposite process one more time until it reaches "normal" size for(int i = 0; i < 5; i++){ ( (IGLObject) o ).Scale(1.1); System.Threading.Thread.Sleep(25); } for(int i = 0; i < 10; i++){ ( (IGLObject) o ).Scale(0.91); System.Threading.Thread.Sleep(25); } for(int i = 0; i < 5; i++){ ( (IGLObject) o ).Scale(1.1); System.Threading.Thread.Sleep(25); } } } } gtkglarea-sharp-0.0.17/examples/pick-object/PickWidget.cs0000644000175000017500000001423310711405721022667 0ustar00samsam00000000000000using System; using Tao.OpenGl; using gl=Tao.OpenGl.Gl; using glu=Tao.OpenGl.Glu; using GtkGL; using Gtk; namespace GtkGL { public enum InputMode { TrackballMode, PickMode, TranslateMode, ScaleMode } public class PickWidget: GtkGL.GLWidget { //Trackball.Trackball tb = new Trackball.Trackball(); double beginX = 0; double beginY = 0; bool button1Pressed = false; GtkGL.Quaternion quat = GtkGL.Quaternion.Identity; InputMode currentInputMode = InputMode.PickMode; //InputMode currentInputMode = InputMode.TrackballMode; public InputMode CurrentInputMode { get { return currentInputMode; } set { currentInputMode = value; } } public PickWidget() : base() { base.GLSetup += GtkGL.GLWidget.EnableLighting; // Create and initialize the quaternion quat = new GtkGL.Quaternion(0.0, 0.0, 0.0, 1.0); connectHandlers(); } void connectHandlers() { this.Events |= Gdk.EventMask.Button1MotionMask | Gdk.EventMask.Button2MotionMask | Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.VisibilityNotifyMask | Gdk.EventMask.PointerMotionMask | Gdk.EventMask.PointerMotionHintMask ; this.ButtonPressEvent += OnButtonPress; this.ButtonReleaseEvent += OnButtonRelease; this.MotionNotifyEvent += OnMotionNotify; } // Track mouse dragging void OnMotionNotify (object o, Gtk.MotionNotifyEventArgs e) { int ix, iy; double x, y; Gdk.ModifierType m; // Find the current mouse X and Y positions if (e.Event.IsHint) { e.Event.Window.GetPointer(out ix, out iy, out m); x = (double)ix; y = (double)iy; } else { x = e.Event.X; y = e.Event.Y; } } void OnButtonPress (object o, Gtk.ButtonPressEventArgs e) { if(e.Event.Button != 1) return; button1Pressed = true; /* potential beginning of drag, reset mouse position */ beginX = e.Event.X; beginY = e.Event.Y; } struct hitStruct { public int numNames; public double minZ; public double maxZ; public int[] nameStack; } void processHits (int hits, int[] buffer) { uint i, j=0; uint names, minZ, maxZ, numberOfNames; for (i = 0; i < hits; i++) { hitStruct hit = new hitStruct(); // Get the number of names hit hit.numNames = buffer[j++]; // I don't know if this is correct... // Findour min and max Z values hit.minZ = (double) (buffer[j++] / 0x7fffffff); hit.maxZ = (double) (buffer[j++] / 0x7fffffff); // Console.WriteLine("Hit occured between [{0} .. {1}]", hit.minZ, hit.maxZ); // Allocate some space for our hit names hit.nameStack = new int[hit.numNames]; for(int k = 0; k < hit.numNames; k++){ hit.nameStack[k] = buffer[j++]; // Select the objects that were hit System.Collections.IEnumerator enumerator = GLObjectList.GetEnumerator(); while(enumerator.MoveNext()){ if(( (GtkGL.IGLObject) enumerator.Current ).ID == hit.nameStack[k]){ ( (GtkGL.IGLObject) enumerator.Current ).Selected = true; Console.WriteLine("Object {0} selected.", hit.nameStack[k]); } } } } } void OnButtonRelease (object o, Gtk.ButtonReleaseEventArgs e) { if(e.Event.Button != 1) return; button1Pressed = false; if(this.CurrentInputMode == GtkGL.InputMode.PickMode){ // This document is based on the following example: // http://www.lighthouse3d.com/opengl/picking/ // Console.WriteLine("Entering Pick mode..."); // Console.WriteLine("Deselecting all objects"); System.Collections.IEnumerator enumerator = GLObjectList.GetEnumerator(); while(enumerator.MoveNext()){ ( (GtkGL.IGLObject) enumerator.Current ).Selected = false; } // Get Mouse coordinates double x = e.Event.X, y = e.Event.Y; if( this.MakeCurrent() == 0) return; double xCenter, yCenter, width, height; if(x > beginX){ width = x - beginX; xCenter = beginX + ( width / 2 ); }else{ width = beginX - x; xCenter = x + ( width / 2 ); } if(y > beginY){ height = y - beginY; yCenter = beginY + ( height / 2 ); }else{ height = beginY - y; yCenter = y + ( height / 2 ); } // Establish a buffer for selection mode values int[] selectBuf = new int[64]; // http://www.mevis.de/opengl/glSelectBuffer.html gl.glSelectBuffer (64, selectBuf); // http://www.mevis.de/opengl/glRenderMode.html gl.glRenderMode(gl.GL_SELECT); // Enter the SELECT render mode gl.glMatrixMode(gl.GL_PROJECTION); // Select The Projection Matrix gl.glPushMatrix(); // Save our state gl.glLoadIdentity(); // Reset The Projection Matrix // Get the viewport int[] viewport = new int[4]; gl.glGetIntegerv(gl.GL_VIEWPORT, viewport); glu.gluPickMatrix(xCenter, viewport[3] - yCenter, width+1, height+1, viewport); int windowWidth, windowHeight; e.Event.Window.GetSize(out windowWidth, out windowHeight); glu.gluPerspective(45,windowWidth / windowHeight,0.1,100); gl.glTranslatef(0.0f,0.0f,-6.0f); // Move away from the drawing area 6.0 gl.glMatrixMode(gl.GL_MODELVIEW); // http://www.mevis.de/opengl/glInitNames.html gl.glInitNames(); // Initialize the names stack // Draw the objects enumerator = GLObjectList.GetEnumerator(); while(enumerator.MoveNext()){ ( (GtkGL.IGLObject) enumerator.Current ).Draw(); } gl.glMatrixMode(gl.GL_PROJECTION); gl.glPopMatrix(); gl.glMatrixMode(gl.GL_MODELVIEW); gl.glFlush(); // Return to normal rendering mode int hits = gl.glRenderMode(gl.GL_RENDER); processHits(hits, selectBuf); // Console.WriteLine("Exited picking mode"); } } private void OnQuit (object o, System.EventArgs e){ Application.Quit(); } private void OnWindowDeleteEvent (object sender, Gtk.DeleteEventArgs a) { Application.Quit (); a.RetVal = true; } } } gtkglarea-sharp-0.0.17/INSTALL0000644000175000017500000002231010515602102015314 0ustar00samsam00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. gtkglarea-sharp-0.0.17/x11_license0000644000175000017500000000207410705406737016347 0ustar00samsam00000000000000 Copyright (c) 2005-2006 C.J. Adams-Collier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. gtkglarea-sharp-0.0.17/gtkglarea-sharp.pub0000644000175000017500000000024010705406737020066 0ustar00samsam00000000000000$€”$RSA1'û7?îq¿³¦¼Ÿ7cCI?BÙß ?çê¶Š™8Ç—ùâÙÁ‡_L©óˆÙ y€ÕÍòDÔ¥š±ÂqT± Ø¡_šá„\è6ˆ*pÒÛuÔ@ßöSTpmY¿LTÇkÔ‹™Yƒ('¶<—„Æ/÷˜G{üÁTp«ø‚F³gtkglarea-sharp-0.0.17/configure0000755000175000017500000041332110711630105016202 0ustar00samsam00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for gtkglarea-sharp 0.0.17. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='gtkglarea-sharp' PACKAGE_TARNAME='gtkglarea-sharp' PACKAGE_VERSION='0.0.17' PACKAGE_STRING='gtkglarea-sharp 0.0.17' PACKAGE_BUGREPORT='' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os PROGRAM INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT API_VERSION RUNTIME MCS PATH LD_LIBRARY_PATH PKG_CONFIG TAO_OPENGL_DEPENDENCIES_CFLAGS TAO_OPENGL_DEPENDENCIES_LIBS MONO_DEPENDENCY_CFLAGS MONO_DEPENDENCY_LIBS HAS_TAO_OPENGL_TRUE HAS_TAO_OPENGL_FALSE LIB_PREFIX LIB_SUFFIX BASE_DEPENDENCIES_CFLAGS BASE_DEPENDENCIES_LIBS GTK_SHARP_CFLAGS GTK_SHARP_LIBS MONODOC_REQUIRED_VERSION MONODOC_DEPENDENCY_CFLAGS MONODOC_DEPENDENCY_LIBS MONODOC ENABLE_MONODOC_TRUE ENABLE_MONODOC_FALSE GACUTIL GACUTIL_FLAGS CODEGEN FIXUP WINBUILD_TRUE WINBUILD_FALSE GAPI_DEPENDENCY_CFLAGS GAPI_DEPENDENCY_LIBS HAS_GAPI_TRUE HAS_GAPI_FALSE MONO_PATH MCS_ARGS RESOURCE_FILES CLEANFILES EXTRA_DIST ASSEMBLY_DEPS LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias PKG_CONFIG TAO_OPENGL_DEPENDENCIES_CFLAGS TAO_OPENGL_DEPENDENCIES_LIBS MONO_DEPENDENCY_CFLAGS MONO_DEPENDENCY_LIBS GTK_SHARP_CFLAGS GTK_SHARP_LIBS MONODOC_DEPENDENCY_CFLAGS MONODOC_DEPENDENCY_LIBS GAPI_DEPENDENCY_CFLAGS GAPI_DEPENDENCY_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures gtkglarea-sharp 0.0.17 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/gtkglarea-sharp] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of gtkglarea-sharp 0.0.17:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer Some influential environment variables: PKG_CONFIG path to pkg-config utility TAO_OPENGL_DEPENDENCIES_CFLAGS C compiler flags for TAO_OPENGL_DEPENDENCIES, overriding pkg-config TAO_OPENGL_DEPENDENCIES_LIBS linker flags for TAO_OPENGL_DEPENDENCIES, overriding pkg-config MONO_DEPENDENCY_CFLAGS C compiler flags for MONO_DEPENDENCY, overriding pkg-config MONO_DEPENDENCY_LIBS linker flags for MONO_DEPENDENCY, overriding pkg-config GTK_SHARP_CFLAGS C compiler flags for GTK_SHARP, overriding pkg-config GTK_SHARP_LIBS linker flags for GTK_SHARP, overriding pkg-config MONODOC_DEPENDENCY_CFLAGS C compiler flags for MONODOC_DEPENDENCY, overriding pkg-config MONODOC_DEPENDENCY_LIBS linker flags for MONODOC_DEPENDENCY, overriding pkg-config GAPI_DEPENDENCY_CFLAGS C compiler flags for GAPI_DEPENDENCY, overriding pkg-config GAPI_DEPENDENCY_LIBS linker flags for GAPI_DEPENDENCY, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF gtkglarea-sharp configure 0.0.17 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by gtkglarea-sharp $as_me 0.0.17, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ## 1.9 is probably not required. let me know if it effects you ## we're using tar-ustar in case file names get longer than 99 chars am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='gtkglarea-sharp' VERSION='0.0.17' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} { echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5 echo $ECHO_N "checking how to create a ustar tar archive... $ECHO_C" >&6; } # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar plaintar pax cpio none' _am_tools=${am_cv_prog_tar_ustar-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do { echo "$as_me:$LINENO: $_am_tar --version" >&5 ($_am_tar --version) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && break done am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x ustar -w "$$tardir"' am__tar_='pax -L -x ustar -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H ustar -L' am__tar_='find "$tardir" -print | cpio -o -H ustar -L' am__untar='cpio -i -H ustar -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_ustar}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -rf conftest.dir if test -s conftest.tar; then { echo "$as_me:$LINENO: $am__untar &5 ($am__untar &5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir if test "${am_cv_prog_tar_ustar+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_prog_tar_ustar=$_am_tool fi { echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5 echo "${ECHO_T}$am_cv_prog_tar_ustar" >&6; } { echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE ## Don't bump this unless the API changes. API_VERSION=0.0.3.0 { echo "$as_me:$LINENO: checking whether we're compiling from an RCS" >&5 echo $ECHO_N "checking whether we're compiling from an RCS... $ECHO_C" >&6; } if test -f "$srcdir/.cvs_version" ; then from_rcs=cvs else if test -f "$srcdir/.svn" ; then from_rcs=svn else from_rcs=no fi fi { echo "$as_me:$LINENO: result: $from_rcs" >&5 echo "${ECHO_T}$from_rcs" >&6; } # Extract the first word of "mono", so it can be a program name with args. set dummy mono; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_RUNTIME+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $RUNTIME in [\\/]* | ?:[\\/]*) ac_cv_path_RUNTIME="$RUNTIME" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_RUNTIME="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_RUNTIME" && ac_cv_path_RUNTIME="no" ;; esac fi RUNTIME=$ac_cv_path_RUNTIME if test -n "$RUNTIME"; then { echo "$as_me:$LINENO: result: $RUNTIME" >&5 echo "${ECHO_T}$RUNTIME" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gmcs", so it can be a program name with args. set dummy gmcs; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MCS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MCS in [\\/]* | ?:[\\/]*) ac_cv_path_MCS="$MCS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MCS="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_MCS" && ac_cv_path_MCS="no" ;; esac fi MCS=$ac_cv_path_MCS if test -n "$MCS"; then { echo "$as_me:$LINENO: result: $MCS" >&5 echo "${ECHO_T}$MCS" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$RUNTIME" = "x" ; then { { echo "$as_me:$LINENO: error: Can't find \"mono\" in your PATH" >&5 echo "$as_me: error: Can't find \"mono\" in your PATH" >&2;} { (exit 1); exit 1; }; } fi if test "x$MCS" = "x" ; then { { echo "$as_me:$LINENO: error: Can't find \"gmcs\" in your PATH" >&5 echo "$as_me: error: Can't find \"gmcs\" in your PATH" >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$PKG_CONFIG" = "xno"; then { { echo "$as_me:$LINENO: error: You need to install pkg-config" >&5 echo "$as_me: error: You need to install pkg-config" >&2;} { (exit 1); exit 1; }; } fi ## I like the 2.1.0 build of Tao.OpenGl TAO_OPENGL_REQUIRED_VERSION=2.1.0 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { echo "$as_me:$LINENO: checking for TAO_OPENGL_DEPENDENCIES" >&5 echo $ECHO_N "checking for TAO_OPENGL_DEPENDENCIES... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$TAO_OPENGL_DEPENDENCIES_CFLAGS"; then pkg_cv_TAO_OPENGL_DEPENDENCIES_CFLAGS="$TAO_OPENGL_DEPENDENCIES_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tao-opengl >= \$TAO_OPENGL_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_TAO_OPENGL_DEPENDENCIES_CFLAGS=`$PKG_CONFIG --cflags "tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$TAO_OPENGL_DEPENDENCIES_LIBS"; then pkg_cv_TAO_OPENGL_DEPENDENCIES_LIBS="$TAO_OPENGL_DEPENDENCIES_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tao-opengl >= \$TAO_OPENGL_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_TAO_OPENGL_DEPENDENCIES_LIBS=`$PKG_CONFIG --libs "tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then TAO_OPENGL_DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION"` else TAO_OPENGL_DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tao-opengl >= $TAO_OPENGL_REQUIRED_VERSION"` fi # Put the nasty error message in config.log where it belongs echo "$TAO_OPENGL_DEPENDENCIES_PKG_ERRORS" >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } has_tao_opengl=no elif test $pkg_failed = untried; then has_tao_opengl=no else TAO_OPENGL_DEPENDENCIES_CFLAGS=$pkg_cv_TAO_OPENGL_DEPENDENCIES_CFLAGS TAO_OPENGL_DEPENDENCIES_LIBS=$pkg_cv_TAO_OPENGL_DEPENDENCIES_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } has_tao_opengl=yes fi ## Tao 2.1.0 requires generics, so let's say 1.2 MONO_REQUIRED_VERSION=1.2 pkg_failed=no { echo "$as_me:$LINENO: checking for MONO_DEPENDENCY" >&5 echo $ECHO_N "checking for MONO_DEPENDENCY... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$MONO_DEPENDENCY_CFLAGS"; then pkg_cv_MONO_DEPENDENCY_CFLAGS="$MONO_DEPENDENCY_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"mono >= \$MONO_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "mono >= $MONO_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_MONO_DEPENDENCY_CFLAGS=`$PKG_CONFIG --cflags "mono >= $MONO_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$MONO_DEPENDENCY_LIBS"; then pkg_cv_MONO_DEPENDENCY_LIBS="$MONO_DEPENDENCY_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"mono >= \$MONO_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "mono >= $MONO_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_MONO_DEPENDENCY_LIBS=`$PKG_CONFIG --libs "mono >= $MONO_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then MONO_DEPENDENCY_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "mono >= $MONO_REQUIRED_VERSION"` else MONO_DEPENDENCY_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mono >= $MONO_REQUIRED_VERSION"` fi # Put the nasty error message in config.log where it belongs echo "$MONO_DEPENDENCY_PKG_ERRORS" >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } has_mono=false elif test $pkg_failed = untried; then has_mono=false else MONO_DEPENDENCY_CFLAGS=$pkg_cv_MONO_DEPENDENCY_CFLAGS MONO_DEPENDENCY_LIBS=$pkg_cv_MONO_DEPENDENCY_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } has_mono=true fi if test "x$has_tao_opengl" = "xno"; then { echo "$as_me:$LINENO: WARNING: Tao.OpenGl not detected; examples will not be built" >&5 echo "$as_me: WARNING: Tao.OpenGl not detected; examples will not be built" >&2;} else { echo "$as_me:$LINENO: Tao.OpenGl found; examples will be built" >&5 echo "$as_me: Tao.OpenGl found; examples will be built" >&6;} fi if test x$has_tao_opengl = xyes; then HAS_TAO_OPENGL_TRUE= HAS_TAO_OPENGL_FALSE='#' else HAS_TAO_OPENGL_TRUE='#' HAS_TAO_OPENGL_FALSE= fi #if test `uname -s` = "Darwin"; then # LIB_PREFIX= # LIB_SUFFIX=.dylib #else LIB_PREFIX=.so LIB_SUFFIX= #fi GTK_SHARP_REQUIRED_VERSION=1.9.0 pkg_failed=no { echo "$as_me:$LINENO: checking for GTK_SHARP" >&5 echo $ECHO_N "checking for GTK_SHARP... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$GTK_SHARP_CFLAGS"; then pkg_cv_GTK_SHARP_CFLAGS="$GTK_SHARP_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk-sharp-2.0 >= \$GTK_SHARP_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GTK_SHARP_CFLAGS=`$PKG_CONFIG --cflags "gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$GTK_SHARP_LIBS"; then pkg_cv_GTK_SHARP_LIBS="$GTK_SHARP_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk-sharp-2.0 >= \$GTK_SHARP_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GTK_SHARP_LIBS=`$PKG_CONFIG --libs "gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_SHARP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION"` else GTK_SHARP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED_VERSION"` fi # Put the nasty error message in config.log where it belongs echo "$GTK_SHARP_PKG_ERRORS" >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } has_gtk_sharp=no elif test $pkg_failed = untried; then has_gtk_sharp=no else GTK_SHARP_CFLAGS=$pkg_cv_GTK_SHARP_CFLAGS GTK_SHARP_LIBS=$pkg_cv_GTK_SHARP_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } has_gtk_sharp=yes fi if test "x$has_gtk_sharp" = "xyes" ; then gtk_sharp_enabled=yes else { { echo "$as_me:$LINENO: error: You need to install gtk-sharp-2.0" >&5 echo "$as_me: error: You need to install gtk-sharp-2.0" >&2;} { (exit 1); exit 1; }; } fi MONODOC_REQUIRED_VERSION=1.0 pkg_failed=no { echo "$as_me:$LINENO: checking for MONODOC_DEPENDENCY" >&5 echo $ECHO_N "checking for MONODOC_DEPENDENCY... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$MONODOC_DEPENDENCY_CFLAGS"; then pkg_cv_MONODOC_DEPENDENCY_CFLAGS="$MONODOC_DEPENDENCY_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"monodoc >= \$MONODOC_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "monodoc >= $MONODOC_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_MONODOC_DEPENDENCY_CFLAGS=`$PKG_CONFIG --cflags "monodoc >= $MONODOC_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$MONODOC_DEPENDENCY_LIBS"; then pkg_cv_MONODOC_DEPENDENCY_LIBS="$MONODOC_DEPENDENCY_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"monodoc >= \$MONODOC_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "monodoc >= $MONODOC_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_MONODOC_DEPENDENCY_LIBS=`$PKG_CONFIG --libs "monodoc >= $MONODOC_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then MONODOC_DEPENDENCY_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "monodoc >= $MONODOC_REQUIRED_VERSION"` else MONODOC_DEPENDENCY_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "monodoc >= $MONODOC_REQUIRED_VERSION"` fi # Put the nasty error message in config.log where it belongs echo "$MONODOC_DEPENDENCY_PKG_ERRORS" >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } enable_monodoc=no elif test $pkg_failed = untried; then enable_monodoc=no else MONODOC_DEPENDENCY_CFLAGS=$pkg_cv_MONODOC_DEPENDENCY_CFLAGS MONODOC_DEPENDENCY_LIBS=$pkg_cv_MONODOC_DEPENDENCY_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } enable_monodoc=yes fi if test "x$enable_monodoc" = "xyes"; then # Extract the first word of "monodoc", so it can be a program name with args. set dummy monodoc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MONODOC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MONODOC in [\\/]* | ?:[\\/]*) ac_cv_path_MONODOC="$MONODOC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MONODOC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_MONODOC" && ac_cv_path_MONODOC="no" ;; esac fi MONODOC=$ac_cv_path_MONODOC if test -n "$MONODOC"; then { echo "$as_me:$LINENO: result: $MONODOC" >&5 echo "${ECHO_T}$MONODOC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test x$MONODOC = xno; then enable_monodoc=no fi else MONODOC= fi if test "x$enable_monodoc" = "xyes"; then ENABLE_MONODOC_TRUE= ENABLE_MONODOC_FALSE='#' else ENABLE_MONODOC_TRUE='#' ENABLE_MONODOC_FALSE= fi # Extract the first word of "gacutil", so it can be a program name with args. set dummy gacutil; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GACUTIL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GACUTIL in [\\/]* | ?:[\\/]*) ac_cv_path_GACUTIL="$GACUTIL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GACUTIL="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GACUTIL" && ac_cv_path_GACUTIL="no" ;; esac fi GACUTIL=$ac_cv_path_GACUTIL if test -n "$GACUTIL"; then { echo "$as_me:$LINENO: result: $GACUTIL" >&5 echo "${ECHO_T}$GACUTIL" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$GACUTIL" = "xno" ; then { { echo "$as_me:$LINENO: error: No gacutil tool found" >&5 echo "$as_me: error: No gacutil tool found" >&2;} { (exit 1); exit 1; }; } GACUTIL_FLAGS='' else GACUTIL_FLAGS='/package $(PACKAGE) /gacdir $(DESTDIR)$(prefix)/lib' fi inbuild=no case "$host" in *-*-mingw*|*-*-cygwin*) winbuild=yes # Extract the first word of "gapi_codegen.exe", so it can be a program name with args. set dummy gapi_codegen.exe; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_CODEGEN+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $CODEGEN in [\\/]* | ?:[\\/]*) ac_cv_path_CODEGEN="$CODEGEN" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CODEGEN="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_CODEGEN" && ac_cv_path_CODEGEN="no" ;; esac fi CODEGEN=$ac_cv_path_CODEGEN if test -n "$CODEGEN"; then { echo "$as_me:$LINENO: result: $CODEGEN" >&5 echo "${ECHO_T}$CODEGEN" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gapi-fixup.exe", so it can be a program name with args. set dummy gapi-fixup.exe; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_FIXUP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $FIXUP in [\\/]* | ?:[\\/]*) ac_cv_path_FIXUP="$FIXUP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FIXUP="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_FIXUP" && ac_cv_path_FIXUP="no" ;; esac fi FIXUP=$ac_cv_path_FIXUP if test -n "$FIXUP"; then { echo "$as_me:$LINENO: result: $FIXUP" >&5 echo "${ECHO_T}$FIXUP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) # Extract the first word of "gapi2-codegen", so it can be a program name with args. set dummy gapi2-codegen; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_CODEGEN+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $CODEGEN in [\\/]* | ?:[\\/]*) ac_cv_path_CODEGEN="$CODEGEN" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CODEGEN="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_CODEGEN" && ac_cv_path_CODEGEN="no" ;; esac fi CODEGEN=$ac_cv_path_CODEGEN if test -n "$CODEGEN"; then { echo "$as_me:$LINENO: result: $CODEGEN" >&5 echo "${ECHO_T}$CODEGEN" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gapi2-fixup", so it can be a program name with args. set dummy gapi2-fixup; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_FIXUP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $FIXUP in [\\/]* | ?:[\\/]*) ac_cv_path_FIXUP="$FIXUP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FIXUP="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_FIXUP" && ac_cv_path_FIXUP="no" ;; esac fi FIXUP=$ac_cv_path_FIXUP if test -n "$FIXUP"; then { echo "$as_me:$LINENO: result: $FIXUP" >&5 echo "${ECHO_T}$FIXUP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; esac if test x$winbuild = xyes; then WINBUILD_TRUE= WINBUILD_FALSE='#' else WINBUILD_TRUE='#' WINBUILD_FALSE= fi GAPI_REQUIRED_VERSION=1.9.0 pkg_failed=no { echo "$as_me:$LINENO: checking for GAPI_DEPENDENCY" >&5 echo $ECHO_N "checking for GAPI_DEPENDENCY... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$GAPI_DEPENDENCY_CFLAGS"; then pkg_cv_GAPI_DEPENDENCY_CFLAGS="$GAPI_DEPENDENCY_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gapi-2.0 >= \$GAPI_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "gapi-2.0 >= $GAPI_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GAPI_DEPENDENCY_CFLAGS=`$PKG_CONFIG --cflags "gapi-2.0 >= $GAPI_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$GAPI_DEPENDENCY_LIBS"; then pkg_cv_GAPI_DEPENDENCY_LIBS="$GAPI_DEPENDENCY_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gapi-2.0 >= \$GAPI_REQUIRED_VERSION\"") >&5 ($PKG_CONFIG --exists --print-errors "gapi-2.0 >= $GAPI_REQUIRED_VERSION") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GAPI_DEPENDENCY_LIBS=`$PKG_CONFIG --libs "gapi-2.0 >= $GAPI_REQUIRED_VERSION" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GAPI_DEPENDENCY_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gapi-2.0 >= $GAPI_REQUIRED_VERSION"` else GAPI_DEPENDENCY_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gapi-2.0 >= $GAPI_REQUIRED_VERSION"` fi # Put the nasty error message in config.log where it belongs echo "$GAPI_DEPENDENCY_PKG_ERRORS" >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } enable_gapi=no elif test $pkg_failed = untried; then enable_gapi=no else GAPI_DEPENDENCY_CFLAGS=$pkg_cv_GAPI_DEPENDENCY_CFLAGS GAPI_DEPENDENCY_LIBS=$pkg_cv_GAPI_DEPENDENCY_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } enable_gapi=yes fi if test "x$enable_gapi" = "xyes" ; then if test "x$CODEGEN" != "xno" ; then if test "x$FIXUP" != "xno" ; then has_gapi=yes fi fi fi if test x$has_gapi = xyes; then HAS_GAPI_TRUE= HAS_GAPI_FALSE='#' else HAS_GAPI_TRUE='#' HAS_GAPI_FALSE= fi ac_config_files="$ac_config_files Makefile gtkglarea/gtkglarea-sharp.dll.config gtkglarea/Makefile gtkglarea/AssemblyInfo.cs examples/Makefile examples/rotate-buttons/Makefile examples/glade/Makefile examples/trackball/Makefile examples/util/Makefile examples/shapes/Makefile examples/pick-object/Makefile examples/resources/Makefile examples/NeHe/Makefile examples/NeHe/Lessons/Makefile examples/NeHe/Lessons/01/Makefile examples/NeHe/Lessons/02/Makefile examples/NeHe/Lessons/03/Makefile examples/NeHe/Lessons/04/Makefile examples/NeHe/Lessons/05/Makefile examples/NeHe/Lessons/06/Makefile sources/Makefile gtkglarea-sharp.pc checkbuild.sh" # Frickin' annoying. MONO_PATH=$$MONO_PATH MCS_ARGS= RESOURCE_FILES= CLEANFILES= EXTRA_DIST= ASSEMBLY_DEPS= cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HAS_TAO_OPENGL_TRUE}" && test -z "${HAS_TAO_OPENGL_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HAS_TAO_OPENGL\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HAS_TAO_OPENGL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${ENABLE_MONODOC_TRUE}" && test -z "${ENABLE_MONODOC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"ENABLE_MONODOC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"ENABLE_MONODOC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${WINBUILD_TRUE}" && test -z "${WINBUILD_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"WINBUILD\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"WINBUILD\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HAS_GAPI_TRUE}" && test -z "${HAS_GAPI_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HAS_GAPI\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HAS_GAPI\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by gtkglarea-sharp $as_me 0.0.17, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ gtkglarea-sharp config.status 0.0.17 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "gtkglarea/gtkglarea-sharp.dll.config") CONFIG_FILES="$CONFIG_FILES gtkglarea/gtkglarea-sharp.dll.config" ;; "gtkglarea/Makefile") CONFIG_FILES="$CONFIG_FILES gtkglarea/Makefile" ;; "gtkglarea/AssemblyInfo.cs") CONFIG_FILES="$CONFIG_FILES gtkglarea/AssemblyInfo.cs" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/rotate-buttons/Makefile") CONFIG_FILES="$CONFIG_FILES examples/rotate-buttons/Makefile" ;; "examples/glade/Makefile") CONFIG_FILES="$CONFIG_FILES examples/glade/Makefile" ;; "examples/trackball/Makefile") CONFIG_FILES="$CONFIG_FILES examples/trackball/Makefile" ;; "examples/util/Makefile") CONFIG_FILES="$CONFIG_FILES examples/util/Makefile" ;; "examples/shapes/Makefile") CONFIG_FILES="$CONFIG_FILES examples/shapes/Makefile" ;; "examples/pick-object/Makefile") CONFIG_FILES="$CONFIG_FILES examples/pick-object/Makefile" ;; "examples/resources/Makefile") CONFIG_FILES="$CONFIG_FILES examples/resources/Makefile" ;; "examples/NeHe/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Makefile" ;; "examples/NeHe/Lessons/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/Makefile" ;; "examples/NeHe/Lessons/01/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/01/Makefile" ;; "examples/NeHe/Lessons/02/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/02/Makefile" ;; "examples/NeHe/Lessons/03/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/03/Makefile" ;; "examples/NeHe/Lessons/04/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/04/Makefile" ;; "examples/NeHe/Lessons/05/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/05/Makefile" ;; "examples/NeHe/Lessons/06/Makefile") CONFIG_FILES="$CONFIG_FILES examples/NeHe/Lessons/06/Makefile" ;; "sources/Makefile") CONFIG_FILES="$CONFIG_FILES sources/Makefile" ;; "gtkglarea-sharp.pc") CONFIG_FILES="$CONFIG_FILES gtkglarea-sharp.pc" ;; "checkbuild.sh") CONFIG_FILES="$CONFIG_FILES checkbuild.sh" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim PROGRAM!$PROGRAM$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim MAINT!$MAINT$ac_delim API_VERSION!$API_VERSION$ac_delim RUNTIME!$RUNTIME$ac_delim MCS!$MCS$ac_delim PATH!$PATH$ac_delim LD_LIBRARY_PATH!$LD_LIBRARY_PATH$ac_delim PKG_CONFIG!$PKG_CONFIG$ac_delim TAO_OPENGL_DEPENDENCIES_CFLAGS!$TAO_OPENGL_DEPENDENCIES_CFLAGS$ac_delim TAO_OPENGL_DEPENDENCIES_LIBS!$TAO_OPENGL_DEPENDENCIES_LIBS$ac_delim MONO_DEPENDENCY_CFLAGS!$MONO_DEPENDENCY_CFLAGS$ac_delim MONO_DEPENDENCY_LIBS!$MONO_DEPENDENCY_LIBS$ac_delim HAS_TAO_OPENGL_TRUE!$HAS_TAO_OPENGL_TRUE$ac_delim HAS_TAO_OPENGL_FALSE!$HAS_TAO_OPENGL_FALSE$ac_delim LIB_PREFIX!$LIB_PREFIX$ac_delim LIB_SUFFIX!$LIB_SUFFIX$ac_delim BASE_DEPENDENCIES_CFLAGS!$BASE_DEPENDENCIES_CFLAGS$ac_delim BASE_DEPENDENCIES_LIBS!$BASE_DEPENDENCIES_LIBS$ac_delim GTK_SHARP_CFLAGS!$GTK_SHARP_CFLAGS$ac_delim GTK_SHARP_LIBS!$GTK_SHARP_LIBS$ac_delim MONODOC_REQUIRED_VERSION!$MONODOC_REQUIRED_VERSION$ac_delim MONODOC_DEPENDENCY_CFLAGS!$MONODOC_DEPENDENCY_CFLAGS$ac_delim MONODOC_DEPENDENCY_LIBS!$MONODOC_DEPENDENCY_LIBS$ac_delim MONODOC!$MONODOC$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF ENABLE_MONODOC_TRUE!$ENABLE_MONODOC_TRUE$ac_delim ENABLE_MONODOC_FALSE!$ENABLE_MONODOC_FALSE$ac_delim GACUTIL!$GACUTIL$ac_delim GACUTIL_FLAGS!$GACUTIL_FLAGS$ac_delim CODEGEN!$CODEGEN$ac_delim FIXUP!$FIXUP$ac_delim WINBUILD_TRUE!$WINBUILD_TRUE$ac_delim WINBUILD_FALSE!$WINBUILD_FALSE$ac_delim GAPI_DEPENDENCY_CFLAGS!$GAPI_DEPENDENCY_CFLAGS$ac_delim GAPI_DEPENDENCY_LIBS!$GAPI_DEPENDENCY_LIBS$ac_delim HAS_GAPI_TRUE!$HAS_GAPI_TRUE$ac_delim HAS_GAPI_FALSE!$HAS_GAPI_FALSE$ac_delim MONO_PATH!$MONO_PATH$ac_delim MCS_ARGS!$MCS_ARGS$ac_delim RESOURCE_FILES!$RESOURCE_FILES$ac_delim CLEANFILES!$CLEANFILES$ac_delim EXTRA_DIST!$EXTRA_DIST$ac_delim ASSEMBLY_DEPS!$ASSEMBLY_DEPS$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 20; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi echo "---" echo "Configuration summary for $PACKAGE_NAME" echo "" echo " * Installation prefix: $prefix" echo " * compiler: $MCS" echo " * gtk-sharp-2.0: $gtk_sharp_enabled" echo " * Tao.OpenGl: $has_tao_opengl" echo " * Documentation: $enable_monodoc ($MONODOC)" echo "" echo "---" gtkglarea-sharp-0.0.17/gtkglarea-sharp.pc.in0000644000175000017500000000036510705406737020317 0ustar00samsam00000000000000prefix=@prefix@ exec_prefix=${prefix} libdir=${exec_prefix}/lib Name: GtkGLArea# Description: GtkGLArea# - a GTK# OpenGL widget binding Version: @VERSION@ Requires: gtk-sharp-2.0 Libs: -r:${prefix}/lib/mono/gtkglarea-sharp/gtkglarea-sharp.dll gtkglarea-sharp-0.0.17/missing0000755000175000017500000002557710515602102015704 0ustar00samsam00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). case $1 in lex|yacc) # Not GNU programs, they don't have --version. ;; tar) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $1 in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: gtkglarea-sharp-0.0.17/aclocal.m40000644000175000017500000006671510711630101016142 0ustar00samsam00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR gtkglarea-sharp-0.0.17/gtkglarea/0000777000175000017500000000000010727463042016247 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/gtkglarea/GLArea.custom0000644000175000017500000000034710705406735020600 0ustar00samsam00000000000000 [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gtk_gl_area_new(int[] attrList); public GLArea (System.Int32[] attrList) : base (IntPtr.Zero) { // C.J. Was Here. Raw = gtk_gl_area_new(attrList); } gtkglarea-sharp-0.0.17/gtkglarea/gtkglarea-api.xml0000644000175000017500000001354010711632632021474 0ustar00samsam00000000000000 gtkglarea-sharp-0.0.17/gtkglarea/generated/0000777000175000017500000000000010727463042020205 5ustar00samsam00000000000000gtkglarea-sharp-0.0.17/gtkglarea/generated/_GDK_GL_CONFIGS.cs0000644000175000017500000000142610711632633023026 0ustar00samsam00000000000000// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace GtkGL { using System; using System.Runtime.InteropServices; #region Autogenerated code public enum _GDK_GL_CONFIGS { None, UseGl = 1, BufferSize = 2, Level = 3, Rgba = 4, Doublebuffer = 5, Stereo = 6, AuxBuffers = 7, RedSize = 8, GreenSize = 9, BlueSize = 10, AlphaSize = 11, DepthSize = 12, StencilSize = 13, AccumRedSize = 14, AccumGreenSize = 15, AccumBlueSize = 16, AccumAlphaSize = 17, XVisualTypeExt = 0x22, TransparentTypeExt = 0x23, TransparentIndexValueExt = 0x24, TransparentRedValueExt = 0x25, TransparentGreenValueExt = 0x26, TransparentBlueValueExt = 0x27, TransparentAlphaValueExt = 0x28, } #endregion } gtkglarea-sharp-0.0.17/gtkglarea/generated/GLArea.cs0000644000175000017500000000442410711632633021624 0ustar00samsam00000000000000// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace GtkGL { using System; using System.Collections; using System.Runtime.InteropServices; #region Autogenerated code public class GLArea : Gtk.DrawingArea { [Obsolete] protected GLArea(GLib.GType gtype) : base(gtype) {} public GLArea(IntPtr raw) : base(raw) {} protected GLArea() : base(IntPtr.Zero) { CreateNativeObject (new string [0], new GLib.Value [0]); } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern int gtk_gl_area_make_current(IntPtr raw); public int MakeCurrent() { int raw_ret = gtk_gl_area_make_current(Handle); int ret = raw_ret; return ret; } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern void gtk_gl_area_swap_buffers(IntPtr raw); public void SwapBuffers() { gtk_gl_area_swap_buffers(Handle); } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gtk_gl_area_get_type(); public static new GLib.GType GType { get { IntPtr raw_ret = gtk_gl_area_get_type(); GLib.GType ret = new GLib.GType(raw_ret); return ret; } } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern void gtk_gl_area_size(IntPtr raw, int width, int height); public new void Size(int width, int height) { gtk_gl_area_size(Handle, width, height); } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern int gtk_gl_area_begingl(IntPtr raw); public int Begingl() { int raw_ret = gtk_gl_area_begingl(Handle); int ret = raw_ret; return ret; } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern void gtk_gl_area_swapbuffers(IntPtr raw); public void Swapbuffers() { gtk_gl_area_swapbuffers(Handle); } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern void gtk_gl_area_endgl(IntPtr raw); public void Endgl() { gtk_gl_area_endgl(Handle); } static GLArea () { GtkSharp.GtkglareaSharp.ObjectManager.Initialize (); } #endregion #region Customized extensions #line 1 "GLArea.custom" [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gtk_gl_area_new(int[] attrList); public GLArea (System.Int32[] attrList) : base (IntPtr.Zero) { // C.J. Was Here. Raw = gtk_gl_area_new(attrList); } #endregion } } gtkglarea-sharp-0.0.17/gtkglarea/generated/GdkGLPixmap.cs0000644000175000017500000000261310711632633022636 0ustar00samsam00000000000000// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace GtkGL { using System; using System.Collections; using System.Runtime.InteropServices; #region Autogenerated code public class GdkGLPixmap : GLib.Opaque { [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern int gdk_gl_pixmap_make_current(IntPtr raw, IntPtr context); public int MakeCurrent(GtkGL.GdkGLContext context) { int raw_ret = gdk_gl_pixmap_make_current(Handle, context == null ? IntPtr.Zero : context.Handle); int ret = raw_ret; return ret; } public GdkGLPixmap(IntPtr raw) : base(raw) {} [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gdk_gl_pixmap_new(IntPtr visual, IntPtr pixmap); public GdkGLPixmap (Gdk.Visual visual, Gdk.Pixmap pixmap) { Raw = gdk_gl_pixmap_new(visual == null ? IntPtr.Zero : visual.Handle, pixmap == null ? IntPtr.Zero : pixmap.Handle); } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gdk_gl_pixmap_ref(IntPtr raw); protected override void Ref (IntPtr raw) { if (!Owned) { gdk_gl_pixmap_ref (raw); Owned = true; } } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern void gdk_gl_pixmap_unref(IntPtr raw); protected override void Unref (IntPtr raw) { if (Owned) { gdk_gl_pixmap_unref (raw); Owned = false; } } #endregion } } gtkglarea-sharp-0.0.17/gtkglarea/generated/GdkGLContext.cs0000644000175000017500000000416310711632633023026 0ustar00samsam00000000000000// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace GtkGL { using System; using System.Collections; using System.Runtime.InteropServices; #region Autogenerated code public class GdkGLContext : GLib.Opaque { [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gdk_gl_context_share_new(IntPtr visual, IntPtr sharelist, int direct); public static GtkGL.GdkGLContext ShareNew(Gdk.Visual visual, GtkGL.GdkGLContext sharelist, int direct) { IntPtr raw_ret = gdk_gl_context_share_new(visual == null ? IntPtr.Zero : visual.Handle, sharelist == null ? IntPtr.Zero : sharelist.Handle, direct); GtkGL.GdkGLContext ret = raw_ret == IntPtr.Zero ? null : (GtkGL.GdkGLContext) GLib.Opaque.GetOpaque (raw_ret, typeof (GtkGL.GdkGLContext), false); return ret; } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gdk_gl_context_attrlist_share_new(out int attrlist, IntPtr sharelist, int direct); public static GtkGL.GdkGLContext AttrlistShareNew(out int attrlist, GtkGL.GdkGLContext sharelist, int direct) { IntPtr raw_ret = gdk_gl_context_attrlist_share_new(out attrlist, sharelist == null ? IntPtr.Zero : sharelist.Handle, direct); GtkGL.GdkGLContext ret = raw_ret == IntPtr.Zero ? null : (GtkGL.GdkGLContext) GLib.Opaque.GetOpaque (raw_ret, typeof (GtkGL.GdkGLContext), false); return ret; } public GdkGLContext(IntPtr raw) : base(raw) {} [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gdk_gl_context_new(IntPtr visual); public GdkGLContext (Gdk.Visual visual) { Raw = gdk_gl_context_new(visual == null ? IntPtr.Zero : visual.Handle); } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern IntPtr gdk_gl_context_ref(IntPtr raw); protected override void Ref (IntPtr raw) { if (!Owned) { gdk_gl_context_ref (raw); Owned = true; } } [DllImport("libgtkglarea-win32-2.0-0.dll")] static extern void gdk_gl_context_unref(IntPtr raw); protected override void Unref (IntPtr raw) { if (Owned) { gdk_gl_context_unref (raw); Owned = false; } } #endregion } } gtkglarea-sharp-0.0.17/gtkglarea/generated/ObjectManager.cs0000644000175000017500000000067510711632633023236 0ustar00samsam00000000000000// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace GtkSharp.GtkglareaSharp { public class ObjectManager { static bool initialized = false; // Call this method from the appropriate module init function. public static void Initialize () { if (initialized) return; initialized = true; GLib.GType.Register (GtkGL.GLArea.GType, typeof (GtkGL.GLArea)); } } } gtkglarea-sharp-0.0.17/gtkglarea/AssemblyInfo.cs0000644000175000017500000000027510711630106021157 0ustar00samsam00000000000000using System.Reflection; using System.Runtime.CompilerServices; [assembly:AssemblyVersion("0.0.3.0")] [assembly:AssemblyDelaySign(false)] [assembly:AssemblyKeyFile("gtkglarea-sharp.snk")] gtkglarea-sharp-0.0.17/gtkglarea/gtkglarea-sharp.dll.config.in0000644000175000017500000000320010705406735023662 0ustar00samsam00000000000000 gtkglarea-sharp-0.0.17/gtkglarea/Makefile.am0000644000175000017500000000406310705406735020304 0ustar00samsam00000000000000UNMANAGED_NAME = gtkglarea ASSEMBLY_NAME = $(UNMANAGED_NAME)-sharp ASSEMBLY_TYPE = library ASSEMBLY_EXT = dll ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) MCS_ARGS = \ -nowarn:169 \ -unsafe \ -target:$(ASSEMBLY_TYPE) \ $(GTK_SHARP_LIBS) if ENABLE_MONODOC MCS_ARGS += -doc:docs/GtkGLAreaSharp.xml endif SOURCE_FILES = AssemblyInfo.cs # Files that contain custom code which gapi will merge into generated/* CUSTOMS = \ GLArea.custom ASSEMBLY_DEPS = \ $(SOURCE_FILES) \ generated-stamp \ $(ASSEMBLY_NAME).snk \ $(CUSTOMS) RAW_API=$(UNMANAGED_NAME)-api.raw API=$(UNMANAGED_NAME)-api.xml METADATA=$(ASSEMBLY_NAME).metadata CLEANFILES = \ $(ASSEMBLY) \ $(API) \ $(ASSEMBLY_NAME).snk \ $(ASSEMBLY).config DISTCLEANFILES = \ AssemblyInfo.cs \ docs/GtkGLAreaSharp.xml noinst_DATA = $(ASSEMBLY) EXTRA_DIST = \ $(RAW_API) \ $(SOURCE_FILES) \ $(METADATA) \ AssemblyInfo.cs.in \ $(ASSEMBLY).config.in \ $(API) \ $(CUSTOMS) \ generated/*.cs \ generated-stamp all: $(ASSEMBLY) if HAS_GAPI $(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA) cp $(srcdir)/$(RAW_API) $@ && \ chmod u+w $@ && \ $(FIXUP) --api=$@ --metadata=$(srcdir)/$(METADATA) generated-stamp: $(API) $(CODEGEN) --generate \ $(srcdir)/$(API) \ $(GTK_SHARP_CFLAGS) \ --outdir=generated \ --customdir=$(srcdir) \ --assembly-name=$(ASSEMBLY_NAME) && \ touch generated-stamp else $(API): echo "gapi (part of gtk#) is required to re-generate the c# wrapper" generated-stamp: $(API) endif $(ASSEMBLY_NAME).snk: $(top_srcdir)/$(ASSEMBLY_NAME).snk cp $(top_srcdir)/$(ASSEMBLY_NAME).snk . $(ASSEMBLY): $(ASSEMBLY_DEPS) mkdir -p docs && \ $(MCS) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ $(srcdir)/generated/*.cs \ -out:$@ install-data-local: $(ASSEMBLY) echo "$(GACUTIL) /package $(ASSEMBLY_NAME) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS)"; \ $(GACUTIL) /package $(ASSEMBLY_NAME) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS) || exit 1; uninstall-local: echo "$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \ $(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; gtkglarea-sharp-0.0.17/gtkglarea/gtkglarea-api.raw0000644000175000017500000001351410705406735021474 0ustar00samsam00000000000000 gtkglarea-sharp-0.0.17/gtkglarea/AssemblyInfo.cs.in0000644000175000017500000000030310705406735021570 0ustar00samsam00000000000000using System.Reflection; using System.Runtime.CompilerServices; [assembly:AssemblyVersion("@API_VERSION@")] [assembly:AssemblyDelaySign(false)] [assembly:AssemblyKeyFile("gtkglarea-sharp.snk")] gtkglarea-sharp-0.0.17/gtkglarea/Makefile.in0000644000175000017500000002741610711630104020306 0ustar00samsam00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ @ENABLE_MONODOC_TRUE@am__append_1 = -doc:docs/GtkGLAreaSharp.xml subdir = gtkglarea DIST_COMMON = $(srcdir)/AssemblyInfo.cs.in $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/gtkglarea-sharp.dll.config.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = gtkglarea-sharp.dll.config AssemblyInfo.cs SOURCES = DIST_SOURCES = DATA = $(noinst_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ API_VERSION = @API_VERSION@ ASSEMBLY_DEPS = \ $(SOURCE_FILES) \ generated-stamp \ $(ASSEMBLY_NAME).snk \ $(CUSTOMS) AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@ CLEANFILES = \ $(ASSEMBLY) \ $(API) \ $(ASSEMBLY_NAME).snk \ $(ASSEMBLY).config CODEGEN = @CODEGEN@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXTRA_DIST = \ $(RAW_API) \ $(SOURCE_FILES) \ $(METADATA) \ AssemblyInfo.cs.in \ $(ASSEMBLY).config.in \ $(API) \ $(CUSTOMS) \ generated/*.cs \ generated-stamp FIXUP = @FIXUP@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GAPI_DEPENDENCY_CFLAGS = @GAPI_DEPENDENCY_CFLAGS@ GAPI_DEPENDENCY_LIBS = @GAPI_DEPENDENCY_LIBS@ GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD_LIBRARY_PATH = @LD_LIBRARY_PATH@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MCS = @MCS@ MCS_ARGS = -nowarn:169 -unsafe -target:$(ASSEMBLY_TYPE) \ $(GTK_SHARP_LIBS) $(am__append_1) MKDIR_P = @MKDIR_P@ MONODOC = @MONODOC@ MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@ MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@ MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@ MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ MONO_PATH = @MONO_PATH@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH = @PATH@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PROGRAM = @PROGRAM@ RESOURCE_FILES = @RESOURCE_FILES@ RUNTIME = @RUNTIME@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAO_OPENGL_DEPENDENCIES_CFLAGS = @TAO_OPENGL_DEPENDENCIES_CFLAGS@ TAO_OPENGL_DEPENDENCIES_LIBS = @TAO_OPENGL_DEPENDENCIES_LIBS@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ UNMANAGED_NAME = gtkglarea ASSEMBLY_NAME = $(UNMANAGED_NAME)-sharp ASSEMBLY_TYPE = library ASSEMBLY_EXT = dll ASSEMBLY = $(ASSEMBLY_NAME).$(ASSEMBLY_EXT) SOURCE_FILES = AssemblyInfo.cs # Files that contain custom code which gapi will merge into generated/* CUSTOMS = \ GLArea.custom RAW_API = $(UNMANAGED_NAME)-api.raw API = $(UNMANAGED_NAME)-api.xml METADATA = $(ASSEMBLY_NAME).metadata DISTCLEANFILES = \ AssemblyInfo.cs \ docs/GtkGLAreaSharp.xml noinst_DATA = $(ASSEMBLY) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtkglarea/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu gtkglarea/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh gtkglarea-sharp.dll.config: $(top_builddir)/config.status $(srcdir)/gtkglarea-sharp.dll.config.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ AssemblyInfo.cs: $(top_builddir)/config.status $(srcdir)/AssemblyInfo.cs.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-local install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-local all: $(ASSEMBLY) @HAS_GAPI_TRUE@$(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA) @HAS_GAPI_TRUE@ cp $(srcdir)/$(RAW_API) $@ && \ @HAS_GAPI_TRUE@ chmod u+w $@ && \ @HAS_GAPI_TRUE@ $(FIXUP) --api=$@ --metadata=$(srcdir)/$(METADATA) @HAS_GAPI_TRUE@generated-stamp: $(API) @HAS_GAPI_TRUE@ $(CODEGEN) --generate \ @HAS_GAPI_TRUE@ $(srcdir)/$(API) \ @HAS_GAPI_TRUE@ $(GTK_SHARP_CFLAGS) \ @HAS_GAPI_TRUE@ --outdir=generated \ @HAS_GAPI_TRUE@ --customdir=$(srcdir) \ @HAS_GAPI_TRUE@ --assembly-name=$(ASSEMBLY_NAME) && \ @HAS_GAPI_TRUE@ touch generated-stamp @HAS_GAPI_FALSE@$(API): @HAS_GAPI_FALSE@ echo "gapi (part of gtk#) is required to re-generate the c# wrapper" @HAS_GAPI_FALSE@generated-stamp: $(API) $(ASSEMBLY_NAME).snk: $(top_srcdir)/$(ASSEMBLY_NAME).snk cp $(top_srcdir)/$(ASSEMBLY_NAME).snk . $(ASSEMBLY): $(ASSEMBLY_DEPS) mkdir -p docs && \ $(MCS) \ $(MCS_ARGS) \ $(addprefix $(srcdir)/, $(SOURCE_FILES)) \ $(srcdir)/generated/*.cs \ -out:$@ install-data-local: $(ASSEMBLY) echo "$(GACUTIL) /package $(ASSEMBLY_NAME) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS)"; \ $(GACUTIL) /package $(ASSEMBLY_NAME) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS) || exit 1; uninstall-local: echo "$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \ $(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtkglarea-sharp-0.0.17/gtkglarea/generated-stamp0000644000175000017500000000000010711632633021231 0ustar00samsam00000000000000gtkglarea-sharp-0.0.17/gtkglarea/gtkglarea-sharp.metadata0000644000175000017500000000125710705406735023030 0ustar00samsam00000000000000 1 1 GLArea GLArea 1 1 gtkglarea-sharp-0.0.17/license0000644000175000017500000000014310705406737015651 0ustar00samsam00000000000000This code may be licensed under either the LGPL or MIT/X11 at the user's discretion where feasible gtkglarea-sharp-0.0.17/config.sub0000755000175000017500000007772410661211205016273 0ustar00samsam00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-06-28' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: