From 3712e7c870cefa72225b2161d1380d7d0e56f767 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Thu, 16 Oct 2003 13:29:29 +0000 Subject: [PATCH] *** empty log message *** --- src/native/configure.in | 2 +- src/native/ltmain.sh | 306 ++++++------------ src/native/macosx/org_lwjgl_opengl_Window.cpp | 80 ++++- 3 files changed, 162 insertions(+), 226 deletions(-) diff --git a/src/native/configure.in b/src/native/configure.in index f4134966..3f259720 100644 --- a/src/native/configure.in +++ b/src/native/configure.in @@ -17,7 +17,7 @@ AC_PROG_MAKE_SET AC_PROG_CXX AC_ARG_ENABLE(debug, -AC_HELP_STRING([--disable-buidl], [Disable debug build]), +AC_HELP_STRING([--disable-debug], [Disable debug build]), [build_debug=$enableval], [build_debug=no]) if test $build_debug = yes; then diff --git a/src/native/ltmain.sh b/src/native/ltmain.sh index 7883e23e..fa121a83 100644 --- a/src/native/ltmain.sh +++ b/src/native/ltmain.sh @@ -49,14 +49,14 @@ EOF fi # The name of this program. -progname=`$echo "$0" | ${SED} 's%^.*/%%'` +progname=`$echo "$0" | sed 's%^.*/%%'` modename="$progname" # Constants. PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.4.3 -TIMESTAMP=" (1.922.2.111 2002/10/23 02:54:36)" +VERSION=1.4.2 +TIMESTAMP=" (1.4 2001/11/19 00:06:02)" default_mode= help="Try \`$progname --help' for more information." @@ -67,19 +67,10 @@ rm="rm -f" # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' +Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' -# test EBCDIC or ASCII -case `echo A|od -x` in - *[Cc]1*) # EBCDIC based system - SP2NL="tr '\100' '\n'" - NL2SP="tr '\r\n' '\100\100'" - ;; - *) # Assume ASCII based system - SP2NL="tr '\040' '\012'" - NL2SP="tr '\015\012' '\040\040'" - ;; -esac +SP2NL='tr \040 \012' +NL2SP='tr \015\012 \040\040' # NLS nuisances. # Only set LANG and LC_ALL to C if already set. @@ -153,7 +144,7 @@ do ;; --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 exit 0 ;; @@ -186,8 +177,6 @@ do --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; - --preserve-dup-deps) duplicate_deps="yes" ;; - --quiet | --silent) show=: ;; @@ -226,7 +215,7 @@ if test -z "$show_help"; then # Infer the operation mode. if test -z "$mode"; then case $nonopt in - *cc | *++ | gcc* | *-gcc* | xlc*) + *cc | *++ | gcc* | *-gcc*) mode=link for arg do @@ -478,7 +467,7 @@ if test -z "$show_help"; then pic_mode=default ;; esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi @@ -1003,7 +992,7 @@ compiler." # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in - no/*-*-irix* | no/*-*-nonstopux*) + no/*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; @@ -1054,14 +1043,14 @@ compiler." # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; - *-*-openbsd* | *-*-freebsd*) + *-*-openbsd*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in - *-*-openbsd* | *-*-freebsd*) + *-*-openbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -1314,11 +1303,11 @@ compiler." output_objdir="$output_objdir/$objdir" fi # Create the object directory. - if test ! -d "$output_objdir"; then + if test ! -d $output_objdir; then $show "$mkdir $output_objdir" - $run $mkdir "$output_objdir" + $run $mkdir $output_objdir status=$? - if test $status -ne 0 && test ! -d "$output_objdir"; then + if test $status -ne 0 && test ! -d $output_objdir; then exit $status fi fi @@ -1341,11 +1330,9 @@ compiler." # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac libs="$libs $deplib" done deplibs= @@ -1474,12 +1461,10 @@ compiler." lib) if test "$deplibs_check_method" != pass_all; then echo - echo "*** Warning: Trying to link with static lib archive $deplib." + echo "*** Warning: This library needs some functionality provided by $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not used here." + echo "*** shared version of the library, which you do not appear to have." else echo echo "*** Warning: Linking the shared library $output against the" @@ -1523,7 +1508,7 @@ compiler." fi # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -1550,7 +1535,7 @@ compiler." if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || - { test $linkmode != lib && test $linkmode != prog; }; then + { test $linkmode = oldlib && test $linkmode = obj; }; then # Add dl[pre]opened files of deplib test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" @@ -1558,7 +1543,9 @@ compiler." if test $pass = conv; then # Only check for convenience libraries - deplibs="$lib $deplibs" + if test "$libdir"; then + deplibs="$lib $deplibs" + fi if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 @@ -1570,11 +1557,9 @@ compiler." tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac tmp_libs="$tmp_libs $deplib" done elif test $linkmode != prog && test $linkmode != lib; then @@ -1697,11 +1682,9 @@ compiler." # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac tmp_libs="$tmp_libs $deplib" done # for deplib continue @@ -1785,8 +1768,8 @@ compiler." # Make a new name for the extract_expsyms_cmds to use soroot="$soname" - soname=`echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + soname=`echo $soroot | sed -e 's/^.*\///'` + newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : @@ -1903,11 +1886,7 @@ compiler." add="-l$name" else # We cannot seem to hardcode it, guess we'll fake it. - if test "X$installed" = Xyes; then - add_dir="-L$libdir" - else - add_dir="-L$DESTDIR$libdir" - fi + add_dir="-L$libdir" add="-l$name" fi @@ -1949,14 +1928,13 @@ compiler." # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo - echo "*** Warning: This system can not link to static lib archive $lib." + echo "*** Warning: This library needs some functionality provided by $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + echo "*** Therefore, libtool will create a static module, that should work " + echo "*** as long as the dlopening application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" @@ -2005,11 +1983,9 @@ compiler." tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac tmp_libs="$tmp_libs $deplib" done @@ -2035,7 +2011,7 @@ compiler." if grep "^installed=no" $deplib > /dev/null; then path="-L$absdir/$objdir" else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 @@ -2299,21 +2275,16 @@ compiler." versuffix=".$current"; ;; - irix | nonstopux) + irix) major=`expr $current - $age + 1` - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" + verstring="sgi$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test $loop != 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" + verstring="sgi$major.$iface:$verstring" done # Before this point, $major must not contain `.'. @@ -2327,7 +2298,7 @@ compiler." ;; osf) - major=.`expr $current - $age` + major=`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" @@ -2419,9 +2390,9 @@ compiler." # Eliminate all temporary directories. for path in $notinst_path; do - lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` - deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` - dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` + lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` + deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` + dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` done if test -n "$xrpath"; then @@ -2472,7 +2443,7 @@ compiler." *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd*) + *-*-openbsd*) # Do not include libc due to us having libc/libc_r. ;; *) @@ -2533,20 +2504,18 @@ EOF else droppeddeps=yes echo - echo "*** Warning: dynamic linker does not accept needed library $i." + echo "*** Warning: This library needs some functionality provided by $i." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which I believe you do not have" - echo "*** because a test_compile did reveal that the linker did not use it for" - echo "*** its dynamic dependency list that programs get resolved with at runtime." + echo "*** shared version of the library, which you do not appear to have." fi else newdeplibs="$newdeplibs $i" fi done else - # Error occured in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. + # Error occured in the first compile. Let's try to salvage the situation: + # Compile a seperate program for each library. for i in $deplibs; do name="`expr $i : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. @@ -2565,12 +2534,10 @@ EOF else droppeddeps=yes echo - echo "*** Warning: dynamic linker does not accept needed library $i." + echo "*** Warning: This library needs some functionality provided by $i." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because a test_compile did reveal that the linker did not use this one" - echo "*** as a dynamic dependency that programs can get resolved with at runtime." + echo "*** shared version of the library, which you do not appear to have." fi else droppeddeps=yes @@ -2609,21 +2576,14 @@ EOF # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + potliblink=`ls -ld $potlib | sed 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done - # It is ok to link against an archive when - # building a shared library. - if $AR -t $potlib > /dev/null 2>&1; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ + | sed 10q \ | egrep "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" @@ -2634,17 +2594,10 @@ EOF if test -n "$a_deplib" ; then droppeddeps=yes echo - echo "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** Warning: This library needs some functionality provided by $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - echo "*** with $libname but no candidates were found. (...for file magic test)" - else - echo "*** with $libname and none of the candidates passed a file format test" - echo "*** using a file magic. Last file checked: $potlib" - fi + echo "*** shared version of the library, which you do not appear to have." fi else # Add a -L argument. @@ -2663,9 +2616,8 @@ EOF for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check below in file_magic test if eval echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ + | sed 10q \ | egrep "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" @@ -2676,17 +2628,10 @@ EOF if test -n "$a_deplib" ; then droppeddeps=yes echo - echo "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** Warning: This library needs some functionality provided by $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - echo "*** with $libname and none of the candidates passed a file format test" - echo "*** using a regex pattern. Last file checked: $potlib" - fi + echo "*** shared version of the library, which you do not appear to have." fi else # Add a -L argument. @@ -2951,18 +2896,7 @@ EOF if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else - save_deplibs="$deplibs" - for conv in $convenience; do - tmp_deplibs= - for test_deplib in $deplibs; do - if test "$test_deplib" != "$conv"; then - tmp_deplibs="$tmp_deplibs $test_deplib" - fi - done - deplibs="$tmp_deplibs" - done eval cmds=\"$archive_cmds\" - deplibs="$save_deplibs" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do @@ -3161,7 +3095,7 @@ EOF prog) case $host in - *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 @@ -3183,13 +3117,6 @@ EOF # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac ;; esac @@ -3356,9 +3283,9 @@ extern \"C\" { if test -z "$export_symbols"; then export_symbols="$output_objdir/$output.exp" $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' else - $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' fi @@ -3366,7 +3293,7 @@ extern \"C\" { for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" - name=`echo "$arg" | ${SED} -e 's%^.*/%%'` + name=`echo "$arg" | sed -e 's%^.*/%%'` $run eval 'echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done @@ -3381,13 +3308,7 @@ extern \"C\" { fi # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S @@ -3609,7 +3530,7 @@ static const void *lt_preloaded_setup() { relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" + relink_command="cd `pwd`; $relink_command" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi @@ -3629,7 +3550,7 @@ static const void *lt_preloaded_setup() { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in - *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;; + *.exe) output=`echo $output|sed 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in @@ -3653,7 +3574,7 @@ static const void *lt_preloaded_setup() { # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' +Xsed='sed -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout @@ -3691,7 +3612,7 @@ else test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` @@ -3704,7 +3625,7 @@ else fi file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` done # Try to get the absolute directory name. @@ -3718,7 +3639,7 @@ else progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" @@ -3764,7 +3685,7 @@ else $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 ${SED} + # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var @@ -3939,7 +3860,7 @@ fi\ fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" + relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` # Only create the output if not a dry run. @@ -3956,7 +3877,7 @@ fi\ case $deplib in *.la) name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 @@ -3970,7 +3891,7 @@ fi\ newdlfiles= for lib in $dlfiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -3981,7 +3902,7 @@ fi\ newdlprefiles= for lib in $dlprefiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -4205,7 +4126,7 @@ relink_command=\"$relink_command\"" *.la) # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -4222,21 +4143,12 @@ relink_command=\"$relink_command\"" esac # Add the libdir to current_libdirs if it is the destination. - DESTDIR= if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else - case "$destdir" in - *"$libdir") - DESTDIR=`$echo "$destdir" | sed -e 's!'"$libdir"'$!!'` - if test "X$destdir" != "X$DESTDIR$libdir"; then - DESTDIR= - fi - ;; - esac # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; @@ -4250,7 +4162,6 @@ relink_command=\"$relink_command\"" if test -n "$relink_command"; then $echo "$modename: warning: relinking \`$file'" 1>&2 - export DESTDIR $show "$relink_command" if $run eval "$relink_command"; then : else @@ -4258,7 +4169,6 @@ relink_command=\"$relink_command\"" continue fi fi - unset DESTDIR # See the names of the shared library. set dummy $library_names @@ -4365,27 +4275,19 @@ relink_command=\"$relink_command\"" fi # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then notinst_deplibs= relink_command= # If there is no directory component, then add one. case $file in - */* | *\\*) . $wrapper ;; - *) . ./$wrapper ;; + */* | *\\*) . $file ;; + *) . ./$file ;; esac # Check the variables that should have been set. if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 exit 1 fi @@ -4410,8 +4312,8 @@ relink_command=\"$relink_command\"" relink_command= # If there is no directory component, then add one. case $file in - */* | *\\*) . $wrapper ;; - *) . ./$wrapper ;; + */* | *\\*) . $file ;; + *) . ./$file ;; esac outputname= @@ -4419,11 +4321,7 @@ relink_command=\"$relink_command\"" if test "$finalize" = yes && test -z "$run"; then tmpdir="/tmp" test -n "$TMPDIR" && tmpdir="$TMPDIR" - tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null` - if test $? = 0 ; then : - else - tmpdir="$tmpdir/libtool-$$" - fi + tmpdir="$tmpdir/libtool-$$" if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : else $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 @@ -4463,7 +4361,7 @@ relink_command=\"$relink_command\"" destfile=$destfile.exe ;; *:*.exe) - destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` + destfile=`echo $destfile | sed -e 's,.exe$,,'` ;; esac ;; @@ -4611,7 +4509,7 @@ relink_command=\"$relink_command\"" case $file in *.la) # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -4682,7 +4580,7 @@ relink_command=\"$relink_command\"" -*) ;; *) # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; @@ -4714,7 +4612,7 @@ relink_command=\"$relink_command\"" fi # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" + exec_cmd='"$cmd"$args' else # Display what would be done. if test -n "$shlibpath_var"; then @@ -4791,7 +4689,7 @@ relink_command=\"$relink_command\"" case $name in *.la) # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. @@ -4837,30 +4735,16 @@ relink_command=\"$relink_command\"" ;; *.lo) - # Possibly a libtool object, so verify it. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" fi ;; *) # Do a test to see if this is a libtool program. if test $mode = clean && - (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then relink_command= . $dir/$file diff --git a/src/native/macosx/org_lwjgl_opengl_Window.cpp b/src/native/macosx/org_lwjgl_opengl_Window.cpp index b0c33c8e..f927f873 100644 --- a/src/native/macosx/org_lwjgl_opengl_Window.cpp +++ b/src/native/macosx/org_lwjgl_opengl_Window.cpp @@ -41,13 +41,15 @@ #include "Window.h" #include +#include #include "org_lwjgl_opengl_Window.h" #include "extgl.h" #include "tools.h" #include "common_tools.h" static WindowRef win_ref; -static AGLContext context; +static AGLContext windowed_context; +static CGLContextObj fullscreen_context; static bool close_requested; static Ptr fullscreen_ptr; static bool current_fullscreen; @@ -152,14 +154,19 @@ static void destroyWindow(void) { } static void destroy(void) { - aglSetCurrentContext(NULL); - aglDestroyContext(context); + if (current_fullscreen) { + CGLSetCurrentContext(NULL); + CGLDestroyContext(fullscreen_context); + } else { + aglSetCurrentContext(NULL); + aglDestroyContext(windowed_context); + } destroyWindow(); extgl_Close(); destroyLock(); } -static bool createContext(JNIEnv *env, jint bpp, jint alpha, jint depth, jint stencil) { +static bool createWindowedContext(JNIEnv *env, jint bpp, jint alpha, jint depth, jint stencil) { AGLDrawable drawable = GetWindowPort(win_ref); SetPort(drawable); GLint attrib[] = {AGL_RGBA, @@ -177,25 +184,60 @@ static bool createContext(JNIEnv *env, jint bpp, jint alpha, jint depth, jint st throwException(env, "Could not find matching pixel format"); return false; } - context = aglCreateContext (format, NULL); + windowed_context = aglCreateContext (format, NULL); aglDestroyPixelFormat(format); - if (context == NULL) { + if (windowed_context == NULL) { throwException(env, "Could not create context"); return false; } - if (aglSetDrawable(context, drawable) == GL_FALSE) { - aglDestroyContext(context); + if (aglSetDrawable(windowed_context, drawable) == GL_FALSE) { + aglDestroyContext(windowed_context); throwException(env, "Could not attach context"); return false; } - if (aglSetCurrentContext(context) == GL_FALSE) { - aglDestroyContext(context); + if (aglSetCurrentContext(windowed_context) == GL_FALSE) { + aglDestroyContext(windowed_context); throwException(env, "Could not set current context"); return false; } return true; } +static bool createFullscreenContext(JNIEnv *env, jint bpp, jint alpha, jint depth, jint stencil) { + CGOpenGLDisplayMask display_mask = CGDisplayIDToOpenGLDisplayMask(kCGDirectMainDisplay); + CGLPixelFormatObj pixel_format; + long num_formats; + CGLPixelFormatAttribute attribs[] = {kCGLPFAFullScreen, + kCGLPFADoubleBuffer, + kCGLPFAMinimumPolicy, + kCGLPFAAccelerated, + kCGLPFADisplayMask, + (CGLPixelFormatAttribute)display_mask, + kCGLPFAColorSize, + (CGLPixelFormatAttribute)bpp, + kCGLPFAAlphaSize, + (CGLPixelFormatAttribute)alpha, + kCGLPFADepthSize, + (CGLPixelFormatAttribute)depth, + kCGLPFAStencilSize, + (CGLPixelFormatAttribute)stencil, + (CGLPixelFormatAttribute)NULL}; + CGLChoosePixelFormat(attribs, &pixel_format, &num_formats); + if (pixel_format == NULL) { + throwException(env, "Could not find matching pixel format"); + return false; + } + CGLCreateContext(pixel_format, NULL, &fullscreen_context); + CGLDestroyPixelFormat(pixel_format); + if (fullscreen_context == NULL) { + throwException(env, "Could not create fullscreen context"); + return false; + } + CGLSetFullScreen(fullscreen_context); + CGLSetCurrentContext(fullscreen_context); + return true; +} + JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_Window_nIsCloseRequested(JNIEnv *, jclass) { bool saved; lock(); @@ -235,12 +277,12 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate(JNIEnv *env, jclass throwException(env, "Could not create window"); return; } - if (!registerEventHandlers(env)) { + if (!initLock(env)) { destroyWindow(); extgl_Close(); return; } - if (!initLock(env)) { + if (!registerEventHandlers(env)) { destroyWindow(); extgl_Close(); return; @@ -248,7 +290,13 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate(JNIEnv *env, jclass setWindowTitle(env, title); const RGBColor background_color = {0, 0, 0}; SetWindowContentColor(win_ref, &background_color); - if (!createContext(env, bpp, alpha, depth, stencil)) { + bool success; + if (current_fullscreen) { + success = createFullscreenContext(env, bpp, alpha, depth, stencil); + } else { + success = createWindowedContext(env, bpp, alpha, depth, stencil); + } + if (!success) { destroyLock(); destroyWindow(); extgl_Close(); @@ -275,7 +323,11 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_update(JNIEnv *env, jclass c } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_swapBuffers(JNIEnv * env, jclass clazz) { - aglSwapBuffers(context); + if (current_fullscreen) { + CGLFlushDrawable(fullscreen_context); + } else { + aglSwapBuffers(windowed_context); + } } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_minimize(JNIEnv *env, jclass clazz) {