diff -Nru nvclock-0.8b3/acinclude.m4 nvclock-0.8b4/acinclude.m4 --- nvclock-0.8b3/acinclude.m4 2005-08-13 23:12:18.000000000 +0200 +++ nvclock-0.8b4/acinclude.m4 2008-05-11 12:25:45.000000000 +0200 @@ -113,12 +113,13 @@ #Try to find the qt libs in /usr/lib and /usr/local/lib for i in $QT_LIB_SEARCH; do - if test "x`ls $i/libqt.* 2> /dev/null`" != x ; then + if test "x`ls $i/libqt* 2> /dev/null`" != x ; then QT_LIB_DIR=$i fi done fi - +echo $QT_LIB_DIR +echo $QT_INC_DIR if test x"$QT_INC_DIR" = x -o x"$QT_LIB_DIR" = x; then echo "*** Can't find qt header/library directories, you can fix this using two ways depending on your system:" echo "*** - set QTDIR or use -with-qtdir=DIR option" diff -Nru nvclock-0.8b3/aclocal.m4 nvclock-0.8b4/aclocal.m4 --- nvclock-0.8b3/aclocal.m4 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/aclocal.m4 2007-08-29 13:32:40.000000000 +0200 @@ -0,0 +1,14 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 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. + +# 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_include([acinclude.m4]) diff -Nru nvclock-0.8b3/ChangeLog nvclock-0.8b4/ChangeLog --- nvclock-0.8b3/ChangeLog 2008-01-04 18:32:07.000000000 +0100 +++ nvclock-0.8b4/ChangeLog 2009-01-04 16:18:45.000000000 +0100 @@ -1,6 +1,20 @@ Revision History: ================= +v0.8b4 - January, 4, 2009 +------------------------- + + o Initial GT200 support + o Smartdimmer support for various Geforce8/9 laptops from Sony, Samsung, HP and Apple + o Added an smartdimmer program to replace the original smartdimmer 0.1 program by Erik Wahling + o Bios dumping using PRAMIN to prevent flickering + o Bios parsing fixes for newer Geforce9/GT200 bioses + o Fanspeed adjustment on various Geforce8/9/GT200 cards + o Use of video bios sensor calibration data on Geforce6-GT200 cards + o Improved support for internal GPU diode temperature on G84/G86/G94/G96 cards + o Fixed NV-CONTROL crash in nvclock_gtk + o Many small bugfixes + v0.8b3 - January, 4, 2008 ------------------------- diff -Nru nvclock-0.8b3/config.h nvclock-0.8b4/config.h --- nvclock-0.8b3/config.h 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/config.h 2007-08-29 13:32:47.000000000 +0200 @@ -0,0 +1,62 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `X11' library (-lX11). */ +#define HAVE_LIBX11 1 + +/* Define to 1 if you have the `Xext' library (-lXext). */ +#define HAVE_LIBXEXT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* NV-CONTROL support for changing OpenGL settings */ +#define HAVE_NVCONTROL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Defined if on Win32 platform */ +/* #undef WIN32 */ + +/* Define to 1 if the X Window System is missing or not being used. */ +/* #undef X_DISPLAY_MISSING */ diff -Nru nvclock-0.8b3/config.log nvclock-0.8b4/config.log --- nvclock-0.8b3/config.log 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/config.log 2007-08-29 13:32:47.000000000 +0200 @@ -0,0 +1,518 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by configure, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = roderick +uname -m = i686 +uname -r = 2.6.21.1 +uname -s = Linux +uname -v = #2 SMP Fri May 18 13:12:58 CEST 2007 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = i686 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +/usr/bin/hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /sbin +PATH: /bin +PATH: /usr/sbin +PATH: /usr/bin +PATH: /usr/X11R6/bin +PATH: /usr/local/sbin +PATH: /usr/local/bin +PATH: /usr/games + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1785: checking for gcc +configure:1801: found /usr/bin/gcc +configure:1812: result: gcc +configure:2050: checking for C compiler version +configure:2057: gcc --version >&5 +gcc (GCC) 4.0.3 (Debian 4.0.3-1) +Copyright (C) 2006 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. + +configure:2060: $? = 0 +configure:2067: gcc -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --with-tune=i686 --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.0.3 (Debian 4.0.3-1) +configure:2070: $? = 0 +configure:2077: gcc -V >&5 +gcc: '-V' option must have argument +configure:2080: $? = 1 +configure:2103: checking for C compiler default output file name +configure:2130: gcc conftest.c >&5 +configure:2133: $? = 0 +configure:2171: result: a.out +configure:2188: checking whether the C compiler works +configure:2198: ./a.out +configure:2201: $? = 0 +configure:2218: result: yes +configure:2225: checking whether we are cross compiling +configure:2227: result: no +configure:2230: checking for suffix of executables +configure:2237: gcc -o conftest conftest.c >&5 +configure:2240: $? = 0 +configure:2264: result: +configure:2270: checking for suffix of object files +configure:2296: gcc -c conftest.c >&5 +configure:2299: $? = 0 +configure:2322: result: o +configure:2326: checking whether we are using the GNU C compiler +configure:2355: gcc -c conftest.c >&5 +configure:2361: $? = 0 +configure:2378: result: yes +configure:2383: checking whether gcc accepts -g +configure:2413: gcc -c -g conftest.c >&5 +configure:2419: $? = 0 +configure:2518: result: yes +configure:2535: checking for gcc option to accept ISO C89 +configure:2609: gcc -c -g -O2 conftest.c >&5 +configure:2615: $? = 0 +configure:2638: result: none needed +configure:2714: checking for g++ +configure:2730: found /usr/bin/g++ +configure:2741: result: g++ +configure:2772: checking for C++ compiler version +configure:2779: g++ --version >&5 +g++ (GCC) 4.0.3 (Debian 4.0.3-1) +Copyright (C) 2006 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. + +configure:2782: $? = 0 +configure:2789: g++ -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --with-tune=i686 --enable-checking=release i486-linux-gnu +Thread model: posix +gcc version 4.0.3 (Debian 4.0.3-1) +configure:2792: $? = 0 +configure:2799: g++ -V >&5 +g++: '-V' option must have argument +configure:2802: $? = 1 +configure:2805: checking whether we are using the GNU C++ compiler +configure:2834: g++ -c conftest.cpp >&5 +configure:2840: $? = 0 +configure:2857: result: yes +configure:2862: checking whether g++ accepts -g +configure:2892: g++ -c -g conftest.cpp >&5 +configure:2898: $? = 0 +configure:2997: result: yes +configure:3064: checking for a BSD-compatible install +configure:3120: result: /usr/bin/install -c +configure:3131: checking whether make sets $(MAKE) +configure:3152: result: yes +configure:3167: checking how to run the C preprocessor +configure:3207: gcc -E conftest.c +configure:3213: $? = 0 +configure:3244: gcc -E conftest.c +conftest.c:8:28: error: ac_nonexistent.h: No such file or directory +configure:3250: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| /* end confdefs.h. */ +| #include +configure:3283: result: gcc -E +configure:3312: gcc -E conftest.c +configure:3318: $? = 0 +configure:3349: gcc -E conftest.c +conftest.c:8:28: error: ac_nonexistent.h: No such file or directory +configure:3355: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| /* end confdefs.h. */ +| #include +configure:3393: checking for grep that handles long lines and -e +configure:3467: result: /bin/grep +configure:3472: checking for egrep +configure:3550: result: /bin/grep -E +configure:3555: checking for ANSI C header files +configure:3585: gcc -c -g -O2 conftest.c >&5 +configure:3591: $? = 0 +configure:3690: gcc -o conftest -g -O2 conftest.c >&5 +configure:3693: $? = 0 +configure:3699: ./conftest +configure:3702: $? = 0 +configure:3719: result: yes +configure:3753: checking for library containing getopt_long +configure:3794: gcc -o conftest conftest.c >&5 +configure:3800: $? = 0 +configure:3828: result: none required +configure:3854: checking for sys/types.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for sys/stat.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for stdlib.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for string.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for memory.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for strings.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for inttypes.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for stdint.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3854: checking for unistd.h +configure:3875: gcc -c conftest.c >&5 +configure:3881: $? = 0 +configure:3897: result: yes +configure:3919: checking getopt.h usability +configure:3936: gcc -c conftest.c >&5 +configure:3942: $? = 0 +configure:3956: result: yes +configure:3960: checking getopt.h presence +configure:3975: gcc -E conftest.c +configure:3981: $? = 0 +configure:3995: result: yes +configure:4023: checking for getopt.h +configure:4030: result: yes +configure:4096: checking for pkg-config +configure:4114: found /usr/bin/pkg-config +configure:4127: result: /usr/bin/pkg-config +configure:4145: checking for gtk+-2.0 >= 2.4.0 +configure:4149: result: yes +configure:4153: checking GTK_CFLAGS +configure:4156: result: -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 +configure:4159: checking GTK_LIBS +configure:4162: result: -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 +configure:4937: checking whether -R must be followed by a space +configure:4963: gcc -o conftest conftest.c -RNONE >&5 +gcc: unrecognized option '-RNONE' +configure:4969: $? = 0 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| +| int +| main () +| { +| +| ; +| return 0; +| } +configure:5004: gcc -o conftest conftest.c -R NONE >&5 +gcc: NONE: No such file or directory +gcc: unrecognized option '-R' +configure:5010: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| +| int +| main () +| { +| +| ; +| return 0; +| } +configure:5023: result: neither works +configure:5076: gcc -o conftest conftest.c -LNONE -lX11 >&5 +configure:5082: $? = 0 +configure:5239: checking for gethostbyname +configure:5295: gcc -o conftest conftest.c >&5 +configure:5301: $? = 0 +configure:5318: result: yes +configure:5463: checking for connect +configure:5519: gcc -o conftest conftest.c >&5 +configure:5525: $? = 0 +configure:5542: result: yes +configure:5614: checking for remove +configure:5670: gcc -o conftest conftest.c >&5 +configure:5676: $? = 0 +configure:5693: result: yes +configure:5765: checking for shmat +configure:5821: gcc -o conftest conftest.c >&5 +configure:5827: $? = 0 +configure:5844: result: yes +configure:5925: checking for IceConnectionNumber in -lICE +configure:5960: gcc -o conftest -LNONE conftest.c -lICE >&5 +configure:5966: $? = 0 +configure:5984: result: yes +configure:6142: checking for XOpenDisplay in -lX11 +configure:6177: gcc -o conftest conftest.c -lX11 -LNONE >&5 +configure:6183: $? = 0 +configure:6201: result: yes +configure:6213: checking for XextFindDisplay in -lXext +configure:6248: gcc -o conftest conftest.c -lXext -LNONE -lXext -lX11 >&5 +configure:6254: $? = 0 +configure:6272: result: yes +configure:6417: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on roderick + +config.status:639: creating src/Makefile +config.status:639: creating src/backend/Makefile +config.status:639: creating src/nvcontrol/Makefile +config.status:639: creating src/qt/Makefile +config.status:639: creating src/gtk/Makefile +config.status:639: creating Makefile +config.status:639: creating config.h +config.status:873: executing default-1 commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_c_compiler_gnu=yes +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CCC_set= +ac_cv_env_CCC_value= +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_value= +ac_cv_env_XMKMF_set= +ac_cv_env_XMKMF_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_func_connect=yes +ac_cv_func_gethostbyname=yes +ac_cv_func_remove=yes +ac_cv_func_shmat=yes +ac_cv_header_getopt_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_lib_ICE_IceConnectionNumber=yes +ac_cv_lib_X11_XOpenDisplay=yes +ac_cv_lib_Xext_XextFindDisplay=yes +ac_cv_objext=o +ac_cv_path_EGREP='/bin/grep -E' +ac_cv_path_GREP=/bin/grep +ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_cxx_g=yes +ac_cv_prog_make_make_set=yes +ac_cv_search_getopt_long='none required' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +CC='gcc' +CFLAGS='' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXFLAGS='-g -O2' +DEFS='-DHAVE_CONFIG_H' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/bin/grep -E' +EXEEXT='' +GREP='/bin/grep' +GTK_CFLAGS='-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 ' +GTK_LIBS='-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ' +HAVE_GTK2='yes' +HAVE_NVCONTROL='yes' +HAVE_QT='no' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +LDFLAGS='' +LIBOBJS='' +LIBS='-lXext -lX11 ' +LTLIBOBJS='' +MOC='' +OBJEXT='o' +PACKAGE_BUGREPORT='' +PACKAGE_NAME='' +PACKAGE_STRING='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PATH_SEPARATOR=':' +PKG_CONFIG='/usr/bin/pkg-config' +QASSISTANTCLIENT_LDADD='' +QEMBED='' +QT_CFLAGS='' +QT_CXXFLAGS='' +QT_GUILINK='' +QT_LDADD='' +QT_LIBS='' +RANLIB='ranlib' +SET_MAKE='' +SHELL='/bin/sh' +UIC='' +X11_CFLAGS=' -INONE' +X11_LIBS=' -LNONE -lXext -lX11 ' +XMKMF='' +X_CFLAGS=' -INONE' +X_EXTRA_LIBS='' +X_LIBS=' -LNONE' +X_PRE_LIBS=' -lSM -lICE' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +bindir='${exec_prefix}/bin' +build_alias='' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE}' +dvidir='${docdir}' +exec_prefix='${prefix}' +host_alias='' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +oldincludedir='/usr/include' +pdfdir='${docdir}' +prefix='/usr/local' +program_transform_name='s,x,x,' +psdir='${docdir}' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +system='Linux' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_NAME "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" +#define PACKAGE_STRING "" +#define PACKAGE_BUGREPORT "" +#define STDC_HEADERS 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_LIBX11 1 +#define HAVE_LIBXEXT 1 +#define HAVE_NVCONTROL 1 + +configure: exit 0 diff -Nru nvclock-0.8b3/config.status nvclock-0.8b4/config.status --- nvclock-0.8b3/config.status 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/config.status 2007-08-29 13:32:47.000000000 +0200 @@ -0,0 +1,886 @@ +#! /bin/sh +# Generated by configure. +# 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-/bin/sh} +## --------------------- ## +## 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 $as_me, 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` +" + +# Files that config.status was made for. +config_files=" src/Makefile src/backend/Makefile src/nvcontrol/Makefile src/qt/Makefile src/gtk/Makefile Makefile" +config_headers=" config.h" +config_commands=" default-1" + +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 + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.61, + with options \"\" + +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='/var/tmp/nvclock' +srcdir='.' +INSTALL='/usr/bin/install -c' +# 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;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --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 + +if $ac_cs_recheck; then + echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=/bin/sh + export CONFIG_SHELL + exec /bin/sh "./configure" $ac_configure_extra_args --no-create --no-recursion +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# + + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/backend/Makefile") CONFIG_FILES="$CONFIG_FILES src/backend/Makefile" ;; + "src/nvcontrol/Makefile") CONFIG_FILES="$CONFIG_FILES src/nvcontrol/Makefile" ;; + "src/qt/Makefile") CONFIG_FILES="$CONFIG_FILES src/qt/Makefile" ;; + "src/gtk/Makefile") CONFIG_FILES="$CONFIG_FILES src/gtk/Makefile" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { 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 + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +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 + +cat >"$tmp/subs-1.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +s,@SHELL@,|#_!!_#|/bin/sh,g +s,@PATH_SEPARATOR@,|#_!!_#|:,g +s,@PACKAGE_NAME@,|#_!!_#|,g +s,@PACKAGE_TARNAME@,|#_!!_#|,g +s,@PACKAGE_VERSION@,|#_!!_#|,g +s,@PACKAGE_STRING@,|#_!!_#|,g +s,@PACKAGE_BUGREPORT@,|#_!!_#|,g +s,@exec_prefix@,|#_!!_#|${prefix},g +s,@prefix@,|#_!!_#|/usr/local,g +s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g +s,@bindir@,|#_!!_#|${exec_prefix}/bin,g +s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g +s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g +s,@datarootdir@,|#_!!_#|${prefix}/share,g +s,@datadir@,|#_!!_#|${datarootdir},g +s,@sysconfdir@,|#_!!_#|${prefix}/etc,g +s,@sharedstatedir@,|#_!!_#|${prefix}/com,g +s,@localstatedir@,|#_!!_#|${prefix}/var,g +s,@includedir@,|#_!!_#|${prefix}/include,g +s,@oldincludedir@,|#_!!_#|/usr/include,g +s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE},g +s,@infodir@,|#_!!_#|${datarootdir}/info,g +s,@htmldir@,|#_!!_#|${docdir},g +s,@dvidir@,|#_!!_#|${docdir},g +s,@pdfdir@,|#_!!_#|${docdir},g +s,@psdir@,|#_!!_#|${docdir},g +s,@libdir@,|#_!!_#|${exec_prefix}/lib,g +s,@localedir@,|#_!!_#|${datarootdir}/locale,g +s,@mandir@,|#_!!_#|${datarootdir}/man,g +s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g +s,@ECHO_C@,|#_!!_#|,g +s,@ECHO_N@,|#_!!_#|-n,g +s,@ECHO_T@,|#_!!_#|,g +s,@LIBS@,|#_!!_#|-lXext -lX11 ,g +s,@build_alias@,|#_!!_#|,g +s,@host_alias@,|#_!!_#|,g +s,@target_alias@,|#_!!_#|,g +s,@CC@,|#_!!_#|gcc,g +s,@CFLAGS@,|#_!!_#|,g +s,@LDFLAGS@,|#_!!_#|,g +s,@CPPFLAGS@,|#_!!_#|,g +s,@ac_ct_CC@,|#_!!_#|gcc,g +s,@EXEEXT@,|#_!!_#|,g +s,@OBJEXT@,|#_!!_#|o,g +s,@CXX@,|#_!!_#|g++,g +s,@CXXFLAGS@,|#_!!_#|-g -O2,g +s,@ac_ct_CXX@,|#_!!_#|g++,g +s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g +s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g +s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g +s,@SET_MAKE@,|#_!!_#|,g +s,@CPP@,|#_!!_#|gcc -E,g +s,@GREP@,|#_!!_#|/bin/grep,g +s,@EGREP@,|#_!!_#|/bin/grep -E,g +s,@system@,|#_!!_#|Linux,g +s,@PKG_CONFIG@,|#_!!_#|/usr/bin/pkg-config,g +s,@GTK_CFLAGS@,|#_!!_#|-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 ,g +s,@GTK_LIBS@,|#_!!_#|-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ,g +s,@XMKMF@,|#_!!_#|,g +s,@MOC@,|#_!!_#|,g +s,@UIC@,|#_!!_#|,g +s,@QEMBED@,|#_!!_#|,g +s,@QT_CXXFLAGS@,|#_!!_#|,g +s,@QT_LDADD@,|#_!!_#|,g +s,@QT_GUILINK@,|#_!!_#|,g +s,@QASSISTANTCLIENT_LDADD@,|#_!!_#|,g +s,@QT_CFLAGS@,|#_!!_#|,g +s,@QT_LIBS@,|#_!!_#|,g +s,@X_CFLAGS@,|#_!!_#| -INONE,g +s,@X_PRE_LIBS@,|#_!!_#| -lSM -lICE,g +s,@X_LIBS@,|#_!!_#| -LNONE,g +s,@X_EXTRA_LIBS@,|#_!!_#|,g +s,@X11_CFLAGS@,|#_!!_#| -INONE,g +s,@X11_LIBS@,|#_!!_#| -LNONE -lXext -lX11 ,g +s,@HAVE_GTK2@,|#_!!_#|yes,g +s,@HAVE_QT@,|#_!!_#|no,g +s,@HAVE_NVCONTROL@,|#_!!_#|yes,g +s,@RANLIB@,|#_!!_#|ranlib,g +s,@LIBOBJS@,|#_!!_#|,g +s,@LTLIBOBJS@,|#_!!_#|,g +:end +s/|#_!!_#|//g +CEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +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 +# 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;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +} + +: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 +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.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 + ;; + :H) + # + # CONFIG_HEADER + # + # First, check the format of the line: + cat >"$tmp/defines.sed" <<\CEOF +/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def +/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def +b +:def +s/$/ / +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBX11\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBXEXT\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_NVCONTROL\)[ (].*,\1define\2 1 , +s/ $// +s,^[ #]*u.*,/* & */, +CEOF + sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" +ac_result="$tmp/out1" + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "default-1":C) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } diff -Nru nvclock-0.8b3/configure nvclock-0.8b4/configure --- nvclock-0.8b3/configure 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/configure 2008-08-16 18:53:59.000000000 +0200 @@ -683,10 +683,8 @@ QT_LIBS X11_CFLAGS X11_LIBS -X_CFLAGS -X_PRE_LIBS -X_LIBS -X_EXTRA_LIBS +XEXT_CFLAGS +XEXT_LIBS HAVE_GTK2 HAVE_QT HAVE_NVCONTROL @@ -4502,7 +4500,8 @@ fi done fi - +echo $QT_LIB_DIR +echo $QT_INC_DIR if test x"$QT_INC_DIR" = x -o x"$QT_LIB_DIR" = x; then echo "*** Can't find qt header/library directories, you can fix this using two ways depending on your system:" echo "*** - set QTDIR or use -with-qtdir=DIR option" @@ -5010,1391 +5009,123 @@ if test $succeeded = yes; then : else - if test "$no_x" = yes; then - # Not all programs may use this symbol, but it does not hurt to define it. + { { echo "$as_me:$LINENO: error: \"X11 required for nvcontrol support\"" >&5 +echo "$as_me: error: \"X11 required for nvcontrol support\"" >&2;} + { (exit 1); exit 1; }; } + fi -cat >>confdefs.h <<\_ACEOF -#define X_DISPLAY_MISSING 1 -_ACEOF - X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= + succeeded=no + + if test -z "$PKG_CONFIG"; then + # 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 - if test -n "$x_includes"; then - X_CFLAGS="$X_CFLAGS -I$x_includes" + 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 - # It would also be nice to do this for all -L options, not just this one. - if test -n "$x_libraries"; then - X_LIBS="$X_LIBS -L$x_libraries" - # For Solaris; some versions of Sun CC require a space after -R and - # others require no space. Words are not sufficient . . . . - { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 -echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; } - ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" - ac_xsave_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +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; } - X_LIBS="$X_LIBS -R$x_libraries" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +fi - LIBS="$ac_xsave_LIBS -R $x_libraries" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ + fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: yes" >&5 + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { echo "$as_me:$LINENO: checking for xext" >&5 +echo $ECHO_N "checking for xext... $ECHO_C" >&6; } + + if $PKG_CONFIG --exists "xext" ; then + { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } - X_LIBS="$X_LIBS -R $x_libraries" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + succeeded=yes - { echo "$as_me:$LINENO: result: neither works" >&5 -echo "${ECHO_T}neither works" >&6; } -fi + { echo "$as_me:$LINENO: checking XEXT_CFLAGS" >&5 +echo $ECHO_N "checking XEXT_CFLAGS... $ECHO_C" >&6; } + XEXT_CFLAGS=`$PKG_CONFIG --cflags "xext"` + { echo "$as_me:$LINENO: result: $XEXT_CFLAGS" >&5 +echo "${ECHO_T}$XEXT_CFLAGS" >&6; } + + { echo "$as_me:$LINENO: checking XEXT_LIBS" >&5 +echo $ECHO_N "checking XEXT_LIBS... $ECHO_C" >&6; } + XEXT_LIBS=`$PKG_CONFIG --libs "xext"` + { echo "$as_me:$LINENO: result: $XEXT_LIBS" >&5 +echo "${ECHO_T}$XEXT_LIBS" >&6; } + else + XEXT_CFLAGS="" + XEXT_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + XEXT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xext"` -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi + fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_c_werror_flag=$ac_xsave_c_werror_flag - LIBS=$ac_xsave_LIBS - fi - # Check for system-dependent libraries X programs must link with. - # Do this before checking for the system-independent R6 libraries - # (-lICE), since we may need -lsocket or whatever for X linking. - if test "$ISC" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" - else - # Martyn Johnson says this is needed for Ultrix, if the X - # libraries were built with DECnet support. And Karl Berry says - # the Alpha needs dnet_stub (dnet does not exist). - ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XOpenDisplay (); -int -main () -{ -return XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test $succeeded = yes; then + : + else + { { echo "$as_me:$LINENO: error: \"Xext required for nvcontrol support\"" >&5 +echo "$as_me: error: \"Xext required for nvcontrol support\"" >&2;} + { (exit 1); exit 1; }; } + fi - { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6; } -if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldnet $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dnet_ntoa (); -int -main () -{ -return dnet_ntoa (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dnet_dnet_ntoa=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + X11_CFLAGS="$X11_CFLAGS $XEXT_CFLAGS" + X11_LIBS="$X11_LIBS $XEXT_LIBS" + if test x"$X11_LIBS" != x ; then + HAVE_NVCONTROL=yes - ac_cv_lib_dnet_dnet_ntoa=no -fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6; } -if test $ac_cv_lib_dnet_dnet_ntoa = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" -fi - if test $ac_cv_lib_dnet_dnet_ntoa = no; then - { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6; } -if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldnet_stub $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<\_ACEOF +#define HAVE_NVCONTROL 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dnet_ntoa (); -int -main () -{ -return dnet_ntoa (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dnet_stub_dnet_ntoa=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dnet_stub_dnet_ntoa=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } -if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" -fi - - fi -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_xsave_LIBS" - - # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, - # to get the SysV transport functions. - # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) - # needs -lnsl. - # The nsl library prevents programs from opening the X display - # on Irix 5.2, according to T.E. Dickey. - # The functions gethostbyname, getservbyname, and inet_addr are - # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. - { echo "$as_me:$LINENO: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; } -if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. - For example, HP-UX 11i declares gettimeofday. */ -#define gethostbyname innocuous_gethostbyname - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef gethostbyname - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_gethostbyname || defined __stub___gethostbyname -choke me -#endif - -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_gethostbyname=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; } - - if test $ac_cv_func_gethostbyname = no; then - { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; } -if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_nsl_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_nsl_gethostbyname=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; } -if test $ac_cv_lib_nsl_gethostbyname = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" -fi - - if test $ac_cv_lib_nsl_gethostbyname = no; then - { echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 -echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6; } -if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbsd $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_bsd_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_bsd_gethostbyname=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6; } -if test $ac_cv_lib_bsd_gethostbyname = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" -fi - - fi - fi - - # lieder@skyler.mavd.honeywell.com says without -lsocket, - # socket/setsockopt and other routines are undefined under SCO ODT - # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary - # on later versions), says Simon Leinen: it contains gethostby* - # variants that don't use the name server (or something). -lsocket - # must be given before -lnsl if both are needed. We assume that - # if connect needs -lnsl, so does gethostbyname. - { echo "$as_me:$LINENO: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6; } -if test "${ac_cv_func_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define connect to an innocuous variant, in case declares connect. - For example, HP-UX 11i declares gettimeofday. */ -#define connect innocuous_connect - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char connect (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef connect - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char connect (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_connect || defined __stub___connect -choke me -#endif - -int -main () -{ -return connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_connect=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_connect=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6; } - - if test $ac_cv_func_connect = no; then - { echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; } -if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $X_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char connect (); -int -main () -{ -return connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_socket_connect=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_socket_connect=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; } -if test $ac_cv_lib_socket_connect = yes; then - X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" -fi - - fi - - # Guillermo Gomez says -lposix is necessary on A/UX. - { echo "$as_me:$LINENO: checking for remove" >&5 -echo $ECHO_N "checking for remove... $ECHO_C" >&6; } -if test "${ac_cv_func_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define remove to an innocuous variant, in case declares remove. - For example, HP-UX 11i declares gettimeofday. */ -#define remove innocuous_remove - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char remove (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef remove - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char remove (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_remove || defined __stub___remove -choke me -#endif - -int -main () -{ -return remove (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_remove=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_remove=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 -echo "${ECHO_T}$ac_cv_func_remove" >&6; } - - if test $ac_cv_func_remove = no; then - { echo "$as_me:$LINENO: checking for remove in -lposix" >&5 -echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6; } -if test "${ac_cv_lib_posix_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lposix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char remove (); -int -main () -{ -return remove (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_posix_remove=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_posix_remove=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 -echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6; } -if test $ac_cv_lib_posix_remove = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" -fi - - fi - - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - { echo "$as_me:$LINENO: checking for shmat" >&5 -echo $ECHO_N "checking for shmat... $ECHO_C" >&6; } -if test "${ac_cv_func_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shmat to an innocuous variant, in case declares shmat. - For example, HP-UX 11i declares gettimeofday. */ -#define shmat innocuous_shmat - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shmat (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shmat - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shmat (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shmat || defined __stub___shmat -choke me -#endif - -int -main () -{ -return shmat (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_shmat=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shmat=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 -echo "${ECHO_T}$ac_cv_func_shmat" >&6; } - - if test $ac_cv_func_shmat = no; then - { echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 -echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6; } -if test "${ac_cv_lib_ipc_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lipc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shmat (); -int -main () -{ -return shmat (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_ipc_shmat=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_ipc_shmat=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6; } -if test $ac_cv_lib_ipc_shmat = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" -fi - - fi - fi - - # Check for libraries that X11R6 Xt/Xaw programs need. - ac_save_LDFLAGS=$LDFLAGS - test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" - # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to - # check for ICE first), but we must link in the order -lSM -lICE or - # we get undefined symbols. So assume we have SM if we have ICE. - # These have to be linked with before -lX11, unlike the other - # libraries we check for below, so use a different variable. - # John Interrante, Karl Berry - { echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 -echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6; } -if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char IceConnectionNumber (); -int -main () -{ -return IceConnectionNumber (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_ICE_IceConnectionNumber=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_ICE_IceConnectionNumber=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6; } -if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then - X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" -fi - - LDFLAGS=$ac_save_LDFLAGS - -fi - - fi - - if test x$no_x = x ; then - if test x$x_libraries = x ; then - X11_LIBS= - -{ echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6; } -if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lX11 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XOpenDisplay (); -int -main () -{ -return XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_X11_XOpenDisplay=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_X11_XOpenDisplay=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6; } -if test $ac_cv_lib_X11_XOpenDisplay = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBX11 1 -_ACEOF - - LIBS="-lX11 $LIBS" - -fi - - -{ echo "$as_me:$LINENO: checking for XextFindDisplay in -lXext" >&5 -echo $ECHO_N "checking for XextFindDisplay in -lXext... $ECHO_C" >&6; } -if test "${ac_cv_lib_Xext_XextFindDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXext -lXext $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XextFindDisplay (); -int -main () -{ -return XextFindDisplay (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_Xext_XextFindDisplay=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_Xext_XextFindDisplay=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XextFindDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_Xext_XextFindDisplay" >&6; } -if test $ac_cv_lib_Xext_XextFindDisplay = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBXEXT 1 -_ACEOF - - LIBS="-lXext $LIBS" - -fi - - HAVE_NVCONTROL=yes - else - -{ echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6; } -if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lX11 -L$x_libraries $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XOpenDisplay (); -int -main () -{ -return XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_X11_XOpenDisplay=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_X11_XOpenDisplay=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6; } -if test $ac_cv_lib_X11_XOpenDisplay = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBX11 1 -_ACEOF - - LIBS="-lX11 $LIBS" - -fi - - -{ echo "$as_me:$LINENO: checking for XextFindDisplay in -lXext" >&5 -echo $ECHO_N "checking for XextFindDisplay in -lXext... $ECHO_C" >&6; } -if test "${ac_cv_lib_Xext_XextFindDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXext -L$x_libraries -lXext $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XextFindDisplay (); -int -main () -{ -return XextFindDisplay (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_Xext_XextFindDisplay=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_Xext_XextFindDisplay=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XextFindDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_Xext_XextFindDisplay" >&6; } -if test $ac_cv_lib_Xext_XextFindDisplay = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBXEXT 1 -_ACEOF - - LIBS="-lXext $LIBS" - -fi - - HAVE_NVCONTROL=yes - fi - else - { echo "$as_me:$LINENO: no X Window System found" >&5 -echo "$as_me: no X Window System found" >&6;} - HAVE_NVCONTROL=no - fi - - if test x"$HAVE_NVCONTROL" = "xyes" ; then - X11_CFLAGS=$X_CFLAGS - X11_LIBS="$X_LIBS $LIBS" - - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_NVCONTROL 1 -_ACEOF - - fi + fi fi @@ -7112,10 +5843,8 @@ QT_LIBS!$QT_LIBS$ac_delim X11_CFLAGS!$X11_CFLAGS$ac_delim X11_LIBS!$X11_LIBS$ac_delim -X_CFLAGS!$X_CFLAGS$ac_delim -X_PRE_LIBS!$X_PRE_LIBS$ac_delim -X_LIBS!$X_LIBS$ac_delim -X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim +XEXT_CFLAGS!$XEXT_CFLAGS$ac_delim +XEXT_LIBS!$XEXT_LIBS$ac_delim HAVE_GTK2!$HAVE_GTK2$ac_delim HAVE_QT!$HAVE_QT$ac_delim HAVE_NVCONTROL!$HAVE_NVCONTROL$ac_delim @@ -7124,7 +5853,7 @@ LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 80; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 78; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff -Nru nvclock-0.8b3/configure.in nvclock-0.8b4/configure.in --- nvclock-0.8b3/configure.in 2007-12-02 22:30:17.000000000 +0100 +++ nvclock-0.8b4/configure.in 2008-08-16 18:53:54.000000000 +0200 @@ -103,30 +103,17 @@ fi if test x"$enable_nvcontrol" = "xyes"; then - PKG_CHECK_MODULES([X11], [x11], , [AC_PATH_XTRA]) - if test x$no_x = x ; then - if test x$x_libraries = x ; then - X11_LIBS= - AC_CHECK_LIB(X11, XOpenDisplay) - AC_CHECK_LIB(Xext, XextFindDisplay,,, -lXext) - HAVE_NVCONTROL=yes - else - AC_CHECK_LIB(X11, XOpenDisplay,,, -L$x_libraries) - AC_CHECK_LIB(Xext, XextFindDisplay,,, -L$x_libraries -lXext) - HAVE_NVCONTROL=yes - fi - else - AC_MSG_NOTICE([no X Window System found]) - HAVE_NVCONTROL=no - fi - - if test x"$HAVE_NVCONTROL" = "xyes" ; then - X11_CFLAGS=$X_CFLAGS - X11_LIBS="$X_LIBS $LIBS" + PKG_CHECK_MODULES([X11], [x11], , AC_MSG_ERROR("X11 required for nvcontrol support")) + PKG_CHECK_MODULES([XEXT], [xext], , AC_MSG_ERROR("Xext required for nvcontrol support")) + + X11_CFLAGS="$X11_CFLAGS $XEXT_CFLAGS" + X11_LIBS="$X11_LIBS $XEXT_LIBS" + if test x"$X11_LIBS" != x ; then + HAVE_NVCONTROL=yes AC_SUBST(X11_CFLAGS) - AC_SUBST(X11_LIBS) + AC_SUBST(X11_LIBS) AC_DEFINE([HAVE_NVCONTROL], [1], [NV-CONTROL support for changing OpenGL settings]) - fi + fi fi AC_SUBST(HAVE_GTK2) diff -Nru nvclock-0.8b3/CVS/Entries nvclock-0.8b4/CVS/Entries --- nvclock-0.8b3/CVS/Entries 2008-01-04 19:43:44.000000000 +0100 +++ nvclock-0.8b4/CVS/Entries 2009-01-03 18:12:15.000000000 +0100 @@ -1,18 +1,20 @@ /.cvsignore/1.1/Mon Sep 15 16:42:43 2003// -/ABOUT/1.2/Thu May 26 20:29:15 2005// /AUTHORS/1.3/Tue Aug 30 15:46:04 2005// /COPYING/1.1/Mon Sep 15 15:40:05 2003// /INSTALL/1.1/Mon Sep 15 15:40:05 2003// -/Makefile.in/1.4/Sat May 28 14:11:35 2005// /NEWS/1.1/Mon Sep 15 15:40:05 2003// -/acinclude.m4/1.4/Sat Aug 13 21:12:18 2005// /autogen.sh/1.2/Fri Aug 26 16:13:23 2005// /install-sh/1.1/Mon Sep 15 15:49:41 2003// D/src//// -/configure.in/1.15/Sun Dec 2 21:30:17 2007// -/config.h.in/1.1/Sat Dec 29 01:48:18 2007// -/configure/1.1/Thu Dec 27 15:15:32 2007// -/README/1.10/Fri Jan 4 17:34:13 2008// -/nvclock.1/1.9/Fri Jan 4 17:33:40 2008// -/FAQ/1.3/Fri Jan 4 18:41:57 2008// -/ChangeLog/1.16/Fri Jan 4 17:32:07 2008// +/config.h.in/1.1/Thu Dec 27 13:18:09 2007// +/ABOUT/1.3/Sun May 11 10:25:44 2008// +/FAQ/1.3/Sun May 11 10:25:44 2008// +/Makefile.in/1.7/Sun May 11 10:25:44 2008// +/acinclude.m4/1.5/Sun May 11 10:25:45 2008// +/nvclock.1/1.9/Sun May 11 10:25:45 2008// +/nvclock.desktop/1.1/Sun Jan 6 13:28:26 2008// +/nvclock.png/1.1/Sun Jan 6 13:28:26 2008// +/configure/1.3/Sat Aug 16 16:53:59 2008// +/configure.in/1.16/Sat Aug 16 16:53:54 2008// +/ChangeLog/1.17/Sat Jan 3 17:05:07 2009// +/README/1.11/Sat Jan 3 17:10:56 2009// diff -Nru nvclock-0.8b3/debian/changelog nvclock-0.8b4/debian/changelog --- nvclock-0.8b3/debian/changelog 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/changelog 2009-02-08 15:26:20.000000000 +0100 @@ -1,187 +1,5 @@ -nvclock (0.8b3-1ubuntu1) hardy; urgency=low +nvclock (0.8b4-0ubuntu1) jaunty; urgency=low - * Merge from debian unstable, remaining changes: - - Add dpatch back to build-depends. - - Update Original Maintainer. - * Update 01_fix_buffer_overflow dpatch. - - -- Mario Limonciello Mon, 21 Jan 2008 19:58:33 -0600 - -nvclock (0.8b3-1) unstable; urgency=low - - * New upstream release - * Change Maintainer to packaging team. - - -- Randall Donald Sat, 05 Jan 2008 13:02:01 -0800 - -nvclock (0.8b2-1ubuntu1) feisty; urgency=low - - * Hack in dpatch. - * Use patch from Andreas Simon to fix buffer overflow. (LP: #72117) - * Update Maintainer address. - - -- Steve Kowalik Tue, 13 Mar 2007 16:23:34 +1100 - -nvclock (0.8b2-1) unstable; urgency=low - - * New upstream release, sorry for the delay (closes: #386633) - * change to debhelper 5 - - -- Randall Donald Mon, 16 Oct 2006 16:25:00 -0700 - -nvclock (0.8b-1) unstable; urgency=low - - * New upstream. (closes: #276451, #231941) - * compile against new libqt3-mt (closes: #327943) - * change description regarding nvidia drivers (closes: #296907) - * add suggests on nvidia-glx - - -- Randall Donald Wed, 21 Sep 2005 11:51:07 -0700 - -nvclock (0.7-2) unstable; urgency=low - - * link against qt3-mt. (closes: #203899) - - -- Randall Donald Sat, 2 Aug 2003 13:45:22 -0700 - -nvclock (0.7-1) unstable; urgency=low - - * New upstream. - * remove debconf note. - - -- Randall Donald Tue, 29 Jul 2003 14:08:52 -0700 - -nvclock (0.6.2-1) unstable; urgency=low - - * Build against qt3-mt (in src/qt). - * create new moc file. - * clean up qt Makefile building bit. - * New upstream. - - -- Randall Donald Wed, 12 Feb 2003 12:03:28 -0800 - -nvclock (0.6-5) unstable; urgency=low - - * fix automake build-deps. (closes: #165124) - - -- Randall Donald Wed, 16 Oct 2002 22:43:15 -0700 - -nvclock (0.6-4) unstable; urgency=low - - * Doh! Change the Maintainer field. - - -- Randall Donald Wed, 16 Oct 2002 14:37:55 -0700 - -nvclock (0.6-3) unstable; urgency=low - - * New Maintainer. - - -- Randall Donald Mon, 14 Oct 2002 15:10:06 -0700 - -nvclock (0.6-2) unstable; urgency=low - - * Ran automoc in source tree. Should now build correctly on ia64. - - -- Aurelien Jarno Tue, 8 Oct 2002 01:53:55 +0200 - -nvclock (0.6-1) unstable; urgency=low - - * New upstream release. - Changelog: - - NV18, NV18-GL, NV28, and NV28 support (untested) - - GTK 2.x support - - improved commandline version - - improved GTK gui - - fixed multiple card support - - adjusted the speed ranges for various cards - - additional card info from card registers (GTK gui's only) - - code cleanups - * Built with GTK+ 2.0 - - -- Aurelien Jarno Mon, 7 Oct 2002 23:52:41 +0200 - -nvclock (0.5-6) unstable; urgency=low - - * Changing search paths for moc in configure.in to be compatible with - autoconf2.50 (Closes: Bug#159135). - - -- Aurelien Jarno Wed, 4 Sep 2002 15:49:08 +0200 - -nvclock (0.5-5) unstable; urgency=low - - * Changing build dependency from automake1.5 to automake1.4 - (Closes: Bug#159135). - * Updated Policy standard compliance to 3.5.7 - - -- Aurelien Jarno Wed, 4 Sep 2002 11:34:07 +0200 - -nvclock (0.5-4) unstable; urgency=low - - * Changing build dependency from automake to automake1.5 - - -- Aurelien Jarno Wed, 3 Jul 2002 23:30:42 +0200 - -nvclock (0.5-3) unstable; urgency=low - - * Rewritten debian/rules from scratch. - * Now also compile the Qt frontend. - * Splited package in nvclock, nvclock-qt and nvclock-gtk. - * Added a debconf template to tell that overclocking can damage the - hardware. - * Updated copyright file. - * Updated man pages. - - -- Aurelien Jarno Wed, 8 May 2002 23:52:25 +0200 - -nvclock (0.5-2) unstable; urgency=low - - * New maintainer. - - -- Aurelien Jarno Wed, 8 May 2002 21:19:21 +0200 - -nvclock (0.5-1) unstable; urgency=low - - * New upstream version. - - -- Wouter de Vries Tue, 19 Mar 2002 15:52:27 +0100 - -nvclock (0.4.2-3) unstable; urgency=low - - * Added distclean to clean buildtarget (Closes: Bug#127179) - - -- Wouter de Vries Fri, 15 Feb 2002 15:06:45 +0100 - -nvclock (0.4.2-2) unstable; urgency=low - - * Fixed build-depends. (Closes: Bug#126285) - - -- Wouter de Vries Fri, 28 Dec 2001 16:21:04 +0100 - -nvclock (0.4.2-1) unstable; urgency=low - - * New upstream version (Closes: Bug#124040) - - -- Wouter de Vries Thu, 20 Dec 2001 01:27:33 +0100 - -nvclock (0.2-3) unstable; urgency=low - - * Fixes missing build-depends on debmake. (Closes: Bug#95037) - - -- Wouter de Vries Tue, 24 Apr 2001 03:45:40 +0200 - -nvclock (0.2-2) unstable; urgency=low - - * Fixed spelling in description. - - -- Wouter de Vries Sun, 22 Apr 2001 12:38:16 +0200 - -nvclock (0.2-1) unstable; urgency=low - - * Initial release. - - -- Wouter de Vries Fri, 20 Apr 2001 01:15:44 +0200 - -Local variables: -mode: debian-changelog -End: + * New upstream release 0.8b4 + -- Sebastien Brennion Tue, 27 Jan 2009 21:07:00 +0100 diff -Nru nvclock-0.8b3/debian/compat nvclock-0.8b4/debian/compat --- nvclock-0.8b3/debian/compat 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/debian/compat 2009-02-08 15:26:20.000000000 +0100 @@ -0,0 +1 @@ +7 diff -Nru nvclock-0.8b3/debian/control nvclock-0.8b4/debian/control --- nvclock-0.8b3/debian/control 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/control 2009-02-08 15:26:20.000000000 +0100 @@ -2,14 +2,15 @@ Section: x11 Priority: extra Maintainer: Ubuntu MOTU Developers -XSBC-Original-Maintainer: Debian NVIDIA Maintainers -Build-Depends: debhelper (>> 5.0.0), libqt3-mt-dev (>= 3.1.0), libgtk2.0-dev, libglib2.0-dev, dpatch -Standards-Version: 3.6.2 +XSBC-Original-Maintainer: Sebastien Brennion +Build-Depends: debhelper (>=7), autotools-dev, libqt3-mt-dev (>= 3.1.0), libgtk2.0-dev, libglib2.0-dev +Standards-Version: 3.8.0 Package: nvclock Architecture: any -Depends: ${shlibs:Depends} -Suggests: nvidia-glx +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: nvidia-glx +Conflicts: smartdimmer Description: Allows you to overclock your nVidia card under GNU/Linux This program allows you to overclock your nVidia chip based video card. The official binary nVidia drivers are required for accesses other than @@ -19,7 +20,7 @@ Package: nvclock-gtk Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: nvidia-glx Description: Allows you to overclock your nVidia card under GNU/Linux nvclock allows you to overclock your nVidia chip based video card. @@ -30,7 +31,7 @@ Package: nvclock-qt Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: nvidia-glx Description: Allows you to overclock your nVidia card under GNU/Linux nvclock allows you to overclock your nVidia chip based video card. @@ -38,3 +39,4 @@ by root. . This is the Qt version. + diff -Nru nvclock-0.8b3/debian/copyright nvclock-0.8b4/debian/copyright --- nvclock-0.8b3/debian/copyright 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/copyright 2009-02-08 15:26:20.000000000 +0100 @@ -1,14 +1,14 @@ -This package was debianized by Wouter de Vries sax@debian.org on -Fri, 20 Apr 2001 01:15:44 +0200. -Currently maintained by Randall Donald +This package was debianized by Sébastien Brennion on +Tue, 27 Jan 2009 21:07:00 +0100. It was downloaded from http://www.linuxhardware.org/nvclock/ -Upstream Authors: - Roderick Colenbrander - Christian Zander - Jan Prokop +Upstream Authors: + Roderick Colenbrander + Christian Zander + Jan Prokop You are free to distribute this software under the terms of the GNU General Public License. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL file. + diff -Nru nvclock-0.8b3/debian/dirs nvclock-0.8b4/debian/dirs --- nvclock-0.8b3/debian/dirs 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/dirs 2009-02-08 15:26:20.000000000 +0100 @@ -1 +1,2 @@ usr/bin +usr/sbin diff -Nru nvclock-0.8b3/debian/docs nvclock-0.8b4/debian/docs --- nvclock-0.8b3/debian/docs 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/debian/docs 2009-02-08 15:26:20.000000000 +0100 @@ -0,0 +1,3 @@ +FAQ +NEWS +README diff -Nru nvclock-0.8b3/debian/nvclock-doc.docs nvclock-0.8b4/debian/nvclock-doc.docs --- nvclock-0.8b3/debian/nvclock-doc.docs 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/debian/nvclock-doc.docs 2009-02-08 15:26:20.000000000 +0100 @@ -0,0 +1,2 @@ +#DOCS# + diff -Nru nvclock-0.8b3/debian/nvclock-doc.install nvclock-0.8b4/debian/nvclock-doc.install --- nvclock-0.8b3/debian/nvclock-doc.install 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/debian/nvclock-doc.install 2009-02-08 15:26:20.000000000 +0100 @@ -0,0 +1,2 @@ +#DOCS# + diff -Nru nvclock-0.8b3/debian/nvclock.install nvclock-0.8b4/debian/nvclock.install --- nvclock-0.8b3/debian/nvclock.install 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/nvclock.install 2009-02-08 15:26:20.000000000 +0100 @@ -1 +1,2 @@ usr/bin/nvclock +usr/bin/smartdimmer diff -Nru nvclock-0.8b3/debian/patches/00list nvclock-0.8b4/debian/patches/00list --- nvclock-0.8b3/debian/patches/00list 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/patches/00list 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -01_fix_buffer_overflow diff -Nru nvclock-0.8b3/debian/patches/01_fix_buffer_overflow.dpatch nvclock-0.8b4/debian/patches/01_fix_buffer_overflow.dpatch --- nvclock-0.8b3/debian/patches/01_fix_buffer_overflow.dpatch 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/patches/01_fix_buffer_overflow.dpatch 1970-01-01 01:00:00.000000000 +0100 @@ -1,122 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 01_fix_buffer_overflow.dpatch by Andreas Simon -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Fix a buffer overflow in reading /proc/modules. - -@DPATCH@ -diff -urNad nvclock-0.8b3-1ubuntu1~/src/backend/back_linux.c nvclock-0.8b3-1ubuntu1/src/backend/back_linux.c ---- nvclock-0.8b3-1ubuntu1~/src/backend/back_linux.c 2008-01-06 03:41:44.000000000 -0600 -+++ nvclock-0.8b3-1ubuntu1/src/backend/back_linux.c 2008-01-21 19:58:00.000000000 -0600 -@@ -1,5 +1,5 @@ - /* NVClock 0.8 - Linux overclocker for NVIDIA cards -- * -+ * - * Copyright(C) 2001-2007 Roderick Colenbrander - * - * site: http://nvclock.sourceforge.net -@@ -8,19 +8,19 @@ - * 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 - */ - - #include /* needed for htonl */ --#include -+#include - #include - #include - #include -@@ -62,7 +62,7 @@ - / For various versions the driver isn't initialized when X hasn't - / been started and it can crash then. - */ -- if(sscanf(buffer,"%s %d %d",&name, &size, &used) != 3) continue; -+ if(sscanf(buffer,"%19s %d %d",&name, &size, &used) != 3) continue; - { - if(strcmp(name, "NVdriver") == 0) - { -@@ -120,21 +120,21 @@ - FILE *proc; - - proc = fopen("/proc/bus/pci/devices", "r"); -- if(!proc) -+ if(!proc) - { - set_error_str("Can't open /proc/bus/pci/devices to detect your videocard."); - return 0; - } - -- while(fgets(buf, sizeof(buf)-1, proc)) -+ while(fgets(buf, sizeof(buf)-1, proc)) - { - if(sscanf(buf,"%hx %x %x %x",&devbusfn, &dev, &irq, ®_addr) != 4) continue; - -- /* Check if the card contains an Nvidia chipset */ -+ /* Check if the card contains an Nvidia chipset */ - if((dev>>16) == 0x10de) - { - /* -- When we enter this block of code we know that the device contains some -+ When we enter this block of code we know that the device contains some - chip designed by Nvidia. In the past Nvidia only produced videochips but - now they also make various other devices. Because of this we need to find - out if the device is a videocard or not. There are two ways to do this. We can -@@ -157,10 +157,10 @@ - - /* - Thanks to all different driver version this is needed now. -- When nv_driver > 1 the nvidia kernel module is loaded. -+ When nv_driver > 1 the nvidia kernel module is loaded. - For driver versions < 1.0-40xx the register offset could be set to 0. - Thanks to a rewritten kernel module in 1.0-40xx the register offset needs -- to be set again to the real offset. -+ to be set again to the real offset. - */ - switch(check_driver()) - { -@@ -184,7 +184,7 @@ - } - } - fclose(proc); -- -+ - if(i==0) - { - set_error(NV_ERR_NO_DEVICES_FOUND); -@@ -218,13 +218,13 @@ - if((device = fopen(file, "r")) != NULL) - { - int32_t buffer; -- fseek(device, offset, SEEK_SET); -+ fseek(device, offset, SEEK_SET); - fread(&buffer, sizeof(int32_t), 1, device); - fclose(device); - - return buffer; - } -- -+ - return -1; - } - -@@ -239,7 +239,7 @@ - set_error_str(err); - return 0; - } -- -+ - /* Map the registers of the nVidia chip */ - nv_card->PEXTDEV = map_dev_mem(fd, nv_card->reg_address + 0x101000, 0x1000); - nv_card->PFB = map_dev_mem(fd, nv_card->reg_address + 0x100000, 0x1000); diff -Nru nvclock-0.8b3/debian/rules nvclock-0.8b4/debian/rules --- nvclock-0.8b3/debian/rules 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/debian/rules 2009-02-08 15:26:20.000000000 +0100 @@ -5,12 +5,11 @@ #export DH_VERBOSE=1 # This is the debhelper compatability version to use. -export DH_COMPAT=5 +#export DH_COMPAT=5 #WTF was this for? #bindir = $(CURDIR)/debian/ksimus/usr/bin -include /usr/share/dpatch/dpatch.make INSTALL_DIR = install -p -d -o root -g root -m 755 INSTALL_FILE = install -p -o root -g root -m 644 @@ -36,7 +35,7 @@ endif -build: patch build-stamp +build: build-stamp build-stamp: dh_testdir @@ -44,19 +43,19 @@ $(MAKE) touch build-stamp -clean: debian-clean unpatch - dh_clean debian-clean: dh_testdir -rm -f *-stamp + rm -f config.cache + rm -f config.status - $(MAKE) clean - -$(MAKE) distclean + [ ! -f Makefile ] || $(MAKE) distclean install: build dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs mkdir -p $(CURDIR)/debian/tmp/usr/bin # Main install @@ -97,6 +96,6 @@ dh_gencontrol dh_md5sums dh_builddeb - + dh_prep binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure diff -Nru nvclock-0.8b3/Makefile.in nvclock-0.8b4/Makefile.in --- nvclock-0.8b3/Makefile.in 2005-05-28 16:11:35.000000000 +0200 +++ nvclock-0.8b4/Makefile.in 2008-05-11 12:25:44.000000000 +0200 @@ -1,6 +1,6 @@ INSTALL=@INSTALL@ -prefix=@prefix@ +prefix=$(DESTDIR)@prefix@ docdir=${prefix}/share/doc/nvclock mandir=${prefix}/man DOCS= ABOUT AUTHORS ChangeLog FAQ README @@ -15,7 +15,7 @@ $(MAKE) -C src distclean rm -f *.h config.log config.cache config.status Makefile stamp-h -install: install-docs install-man +install: install-docs install-man install-desktop-shortcut $(MAKE) -C src install install-docs: @@ -29,11 +29,17 @@ echo "installing $$doc as $$dir/$$name"; \ done +install-desktop-shortcut: + mkdir -p $(prefix)/share/applications + mkdir -p $(prefix)/share/icons/hicolor/48x48/apps + cp nvclock.desktop $(prefix)/share/applications + cp nvclock.png $(prefix)/share/icons/hicolor/48x48/apps + install-man: mkdir -p $(mandir)/man1 cp nvclock.1 $(mandir)/man1 -uninstall: uninstall-docs uninstall-man +uninstall: uninstall-docs uninstall-man uninstall-desktop-shortcut $(MAKE) -C src uninstall uninstall-docs: @@ -46,6 +52,12 @@ echo "removing $$dir/$$name" ; \ done +uninstall-desktop-shortcut: + rm -f $(prefix)/share/applications/nvclock.desktop + echo "removing $$prefix/share/applications/nvclock.desktop" ; \ + rm -f $(prefix)/share/icons/hicolor/48x48/apps/nvclock.png + echo "removing $$prefix/share/icons/hicolor/48x48/apps/nvclock.png" ; \ + uninstall-man: rm -f $(mandir)/man1/nvclock.1 echo "removing $$mandir/man1/nvclock.1" ; \ diff -Nru nvclock-0.8b3/nvclock.desktop nvclock-0.8b4/nvclock.desktop --- nvclock-0.8b3/nvclock.desktop 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/nvclock.desktop 2008-01-06 14:28:26.000000000 +0100 @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=NVCLOCK +Comment=Overclock and Monitor NVIDIA cards +Exec=nvclock_gtk +Icon=nvclock.png +Terminal=false +Type=Application +Categories=System; Les fichiers binaires /tmp/gZGme95czY/nvclock-0.8b3/nvclock.png et /tmp/5zyxQG6UGJ/nvclock-0.8b4/nvclock.png sont différents. diff -Nru nvclock-0.8b3/README nvclock-0.8b4/README --- nvclock-0.8b3/README 2008-01-04 18:34:13.000000000 +0100 +++ nvclock-0.8b4/README 2009-01-03 18:10:56.000000000 +0100 @@ -1,4 +1,4 @@ -NVClock Version 0.8 (Beta3) +NVClock Version 0.8 (Beta4) site: http://nvclock.sourceforge.net @@ -93,6 +93,19 @@ at frequencies higher than 300 MHz you might notice that overclocking goes in steps of 6-7 MHz or sometimes even 13-14MHz. On GeforceFX/Geforce6 cards the situation is normal again. +As of 0.8b4 NVClock also ships with a program called smartdimmer which can be used on laptops to tune +the backlight. This program works on various Geforce6/7 laptops from Sony and Geforce8/9 laptops from +Sony, Samsung, HP, Apple and Zepto. + +Usage: ./smartdimmer [options] + +Options: + -g --get Query brightness level. + -s --set Set brightness level (15-100) + -i --increase Increase brightness with one level. + -d --decrease Decrease brightness with one level. + -h --help Prints this help text. + Acknowledgments =============== @@ -103,7 +116,8 @@ o Jan Prokop for creating a qt version o NVIDIA, for having good Linux drivers o Ashley from EntechTaiwan for helping me a bit. - o levon, Dragoran, chr-, etorix, Kano, kelmo, ddl, w00ter, dopez and all others (from #nvidia/#nvclock/#kanotix) + o Lipp Moritz (neldoreth) for a lot of testing of 0.8b4 + o levon, Dragoran, chr-, etorix, Kano, kelmo, Daenjo, ddl, w00ter, dopez and all others (from #nvidia/#nvclock/#kanotix) o Alexey Nicolaychuk (Unwinder) Plans for the future diff -Nru nvclock-0.8b3/src/backend/adt7473.c nvclock-0.8b4/src/backend/adt7473.c --- nvclock-0.8b3/src/backend/adt7473.c 2007-11-02 11:23:00.000000000 +0100 +++ nvclock-0.8b4/src/backend/adt7473.c 2008-12-21 17:10:45.000000000 +0100 @@ -84,18 +84,30 @@ I2CByte cfg; int offset = 0; - /* We add a 10C offset to the temperature though this isn't conform - / the ADT7473 datasheet. The reason we add this is to show a temperature - / similar to the internal gpu sensor. Right now the board and gpu - / temperature as reported by the sensor are about the same (there's - / a difference between the two or 3-4C). Most likely the internal gpu - / temperature is a bit higher and assuming the temperature as reported - / by the internal sensor is correct adding a 10C offset is a good solution. - / (The offset seems to be the same independant of the temperature which) - / Don't do it on NV50, it doesn't have an internal sensor? + /* The temperature needs to be corrected using an offset which is stored in the bios. + / If no bios has been parsed we fall back to a default value. */ - if(dev->arch & NV4X) - offset = 10; + if(nv_card->bios) + { + offset = nv_card->bios->sensor_cfg.temp_correction; + } + else + { + /* We add a 10C offset to the temperature though this isn't conform + / the ADT7473 datasheet. The reason we add this is to show a temperature + / similar to the internal gpu sensor. Right now the board and gpu + / temperature as reported by the sensor are about the same (there's + / a difference between the two or 3-4C). Most likely the internal gpu + / temperature is a bit higher and assuming the temperature as reported + / by the internal sensor is correct adding a 10C offset is a good solution. + / Add an offset of 8C for 8*00/GTX2*0 cards but it doesn't seem 100% correct though. + / It could be that +7C is more correct for 8800GT cards. + */ + if(dev->arch & NV4X) + offset = 10; + else if(dev->arch & NV5X) + offset = 8; + } xf86I2CReadByte(dev, ADT7473_REG_REMOTE_TEMP, &temp); @@ -116,7 +128,11 @@ xf86I2CReadByte(dev, ADT7473_REG_TACH1_LB, &count_lb); xf86I2CReadByte(dev, ADT7473_REG_TACH1_HB, &count_hb); count = (count_hb << 8) | count_lb; - + + /* GT200 boards seem to use two phases instead of a single, the fan speed is twice as high */ + if(dev->arch & GT200) + count *= 2; + /* RPM = 60*90k pulses / (number of counts that fit in a pulse) */ return 90000*60/count; } diff -Nru nvclock-0.8b3/src/backend/back_bsd.c nvclock-0.8b4/src/backend/back_bsd.c --- nvclock-0.8b3/src/backend/back_bsd.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/back_bsd.c 2008-12-27 21:40:06.000000000 +0100 @@ -48,6 +48,7 @@ NVClock nvclock; NVCard *nv_card = NULL; +static int probe_devices(); static void *map_dev_mem (int fd, unsigned long Base, unsigned long Size); static void unmap_dev_mem (unsigned long Base, unsigned long Size); @@ -198,11 +199,13 @@ nv_card->PEXTDEV = map_dev_mem(fd, nv_card->reg_address + 0x101000, 0x1000); nv_card->PFB = map_dev_mem(fd, nv_card->reg_address + 0x100000, 0x1000); /* normally pmc is till 0x2000 but extended it for nv40 */ - nv_card->PMC = map_dev_mem(fd, nv_card->reg_address + 0x000000, 0xffff); + nv_card->PMC = map_dev_mem(fd, nv_card->reg_address + 0x000000, 0x2ffff); nv_card->PCIO = map_dev_mem(fd, nv_card->reg_address + 0x601000, 0x2000); + nv_card->PDISPLAY = map_dev_mem(fd, nv_card->reg_address + NV_PDISPLAY_OFFSET, NV_PDISPLAY_SIZE); nv_card->PRAMDAC = map_dev_mem(fd, nv_card->reg_address + 0x680000, 0x2000); + nv_card->PRAMIN = map_dev_mem(fd, nv_card->reg_address + NV_PRAMIN_OFFSET, NV_PRAMIN_SIZE); nv_card->PROM = map_dev_mem(fd, nv_card->reg_address + 0x300000, 0xffff); - + /* On Geforce 8xxx cards it appears that the pci config header has been moved */ if(nv_card->arch & NV5X) nv_card->PBUS = map_dev_mem(fd, nv_card->reg_address + 0x88000, 0x100); @@ -218,9 +221,11 @@ { unmap_dev_mem((unsigned long)nv_card->PEXTDEV, 0x1000); unmap_dev_mem((unsigned long)nv_card->PFB, 0x1000); - unmap_dev_mem((unsigned long)nv_card->PMC, 0x2ffff); + unmap_dev_mem((unsigned long)nv_card->PMC, 0xffff); unmap_dev_mem((unsigned long)nv_card->PCIO, 0x2000); + unmap_dev_mem((unsigned long)nv_card->PDISPLAY, NV_PDISPLAY_SIZE); unmap_dev_mem((unsigned long)nv_card->PRAMDAC, 0x2000); + unmap_dev_mem((unsigned long)nv_card->PRAMIN, NV_PRAMIN_SIZE); unmap_dev_mem((unsigned long)nv_card->PROM, 0xffff); } diff -Nru nvclock-0.8b3/src/backend/backend.c nvclock-0.8b4/src/backend/backend.c --- nvclock-0.8b3/src/backend/backend.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/backend.c 2008-03-24 18:17:00.000000000 +0100 @@ -95,7 +95,7 @@ /* Also retrieve the irq which is used to sync nvclock and NV-CONTROL */ NVGetAttribute(nvclock.dpy, 0, 0, NV_IRQ, &irq); - if(have_coolbits && (nv_card->gpu == DESKTOP) && (nv_card->irq == irq)) + if(have_coolbits && (nv_card->irq == irq)) { nv_card->caps |= COOLBITS_OVERCLOCKING; diff -Nru nvclock-0.8b3/src/backend/backend.h nvclock-0.8b4/src/backend/backend.h --- nvclock-0.8b3/src/backend/backend.h 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/backend.h 2008-12-23 23:35:15.000000000 +0100 @@ -51,8 +51,8 @@ int32_t pciReadLong(unsigned short devbusfn, long offset); /* Bios related stuff */ -void dump_bios(char *filename); -struct nvbios* read_bios(char *filename); +void dump_bios(const char *filename); +struct nvbios* read_bios(const char *filename); /* NV-CONTROL overclocking functions */ float nvcontrol_get_gpu_speed(); diff -Nru nvclock-0.8b3/src/backend/back_linux.c nvclock-0.8b4/src/backend/back_linux.c --- nvclock-0.8b3/src/backend/back_linux.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/back_linux.c 2008-12-23 21:08:47.000000000 +0100 @@ -246,7 +246,9 @@ /* normally pmc is till 0x2000 but extended it for nv40 */ nv_card->PMC = map_dev_mem(fd, nv_card->reg_address + 0x000000, 0x2ffff); nv_card->PCIO = map_dev_mem(fd, nv_card->reg_address + 0x601000, 0x2000); + nv_card->PDISPLAY = map_dev_mem(fd, nv_card->reg_address + NV_PDISPLAY_OFFSET, NV_PDISPLAY_SIZE); nv_card->PRAMDAC = map_dev_mem(fd, nv_card->reg_address + 0x680000, 0x2000); + nv_card->PRAMIN = map_dev_mem(fd, nv_card->reg_address + NV_PRAMIN_OFFSET, NV_PRAMIN_SIZE); nv_card->PROM = map_dev_mem(fd, nv_card->reg_address + 0x300000, 0xffff); /* On Geforce 8xxx cards it appears that the pci config header has been moved */ @@ -266,7 +268,9 @@ unmap_dev_mem((unsigned long)nv_card->PFB, 0x1000); unmap_dev_mem((unsigned long)nv_card->PMC, 0xffff); unmap_dev_mem((unsigned long)nv_card->PCIO, 0x2000); + unmap_dev_mem((unsigned long)nv_card->PDISPLAY, NV_PDISPLAY_SIZE); unmap_dev_mem((unsigned long)nv_card->PRAMDAC, 0x2000); + unmap_dev_mem((unsigned long)nv_card->PRAMIN, NV_PRAMIN_SIZE); unmap_dev_mem((unsigned long)nv_card->PROM, 0xffff); } diff -Nru nvclock-0.8b3/src/backend/back_win32.c nvclock-0.8b4/src/backend/back_win32.c --- nvclock-0.8b3/src/backend/back_win32.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/back_win32.c 2008-10-25 17:34:41.000000000 +0200 @@ -135,6 +135,7 @@ /* normally pmc is till 0x2000 but extended it for nv40 */ nv_card->PMC = pMapPhysToLinear(nv_card->reg_address + 0x000000, 0x2ffff, &hmem); nv_card->PCIO = pMapPhysToLinear(nv_card->reg_address + 0x601000, 0x2000, &hmem); + nv_card->PDISPLAY = pMapPhysToLinear(nv_card->reg_address + NV_PDISPLAY, NV_PDISPLAY_LENGTH, &hmem); nv_card->PRAMDAC = pMapPhysToLinear(nv_card->reg_address + 0x680000, 0x2000, &hmem); nv_card->PROM = pMapPhysToLinear(nv_card->reg_address + 0x300000, 0xffff, &hmem); diff -Nru nvclock-0.8b3/src/backend/bios.c nvclock-0.8b4/src/backend/bios.c --- nvclock-0.8b3/src/backend/bios.c 2008-01-04 14:05:38.000000000 +0100 +++ nvclock-0.8b4/src/backend/bios.c 2009-01-03 17:37:18.000000000 +0100 @@ -30,6 +30,7 @@ #include "backend.h" #include "nvclock.h" +#include "nvreg.h" #include #include #include @@ -45,7 +46,7 @@ #define READ_LONG(rom, offset) (READ_INT(rom, offset+4)<<32 | READ_INT(rom, offset)) static unsigned int locate(char *rom, char *str, int offset); -struct nvbios *read_bios(char *file); +struct nvbios *read_bios(const char *file); static struct nvbios *parse_bios(char *rom); typedef struct @@ -146,7 +147,7 @@ */ static char *nv40_bios_version_to_str(char *rom, short offset) { - char res[15]; + char res[16]; int version = READ_INT(rom, offset); unsigned char extra = rom[offset+4]; @@ -358,6 +359,12 @@ #endif offset += 18; break; + case 0x97: /* 0x97 */ +#if DEBUG + printf("'%c'\t%08x %08x\n", id, READ_INT(rom, offset+1), READ_INT(rom, offset+5)); +#endif + offset += 13; + break; default: printf("Unhandled init script entry with id '%c' at %04x\n", id, offset); return 0; @@ -884,22 +891,131 @@ #else -void dump_bios(char *filename) +void dump_bios(const char *filename) { int i; FILE *fp = NULL; + char *rom = calloc(NV_PROM_SIZE, sizeof(char)); - /* enable bios parsing; on some boards the display might turn off */ - nv_card->PMC[0x1850/4] = 0x0; + if(!rom) + { + fprintf(stderr, "Unable to allocate memory for shadowing the bios image\n"); + return; + } - /* try to dump the bios */ + /* Try to obtain a copy of the bios first from PRAMIN later from the (slow) ROM. + / Dumping from ROM might fail on laptops as for some reason there is no ROM on some laptops. + */ + if(!load_bios_pramin(rom)) + { + if(!load_bios_prom(rom)) + { + fprintf(stderr, "Unable to shadow the video bios\n"); + free(rom); + return; + } + } + + /* Try to dump the bios to a file */ fp = fopen(filename, "w+"); - if(!fp) return; + if(!fp) return; - for(i=0; i < 0xffff; i++) + for(i=0; iarch) + return 0; + + /* On NV5x cards we need to let pramin point to the bios */ + if (nv_card->arch & NV5X) + { + uint32_t vbios_vram = (nv_card->PDISPLAY[0x9f04/4] & ~0xff) << 8; + + if (!vbios_vram) + vbios_vram = (nv_card->PMC[0x1700/4] << 16) + 0xf0000; + + old_bar0_pramin = nv_card->PMC[0x1700/4]; + nv_card->PMC[0x1700/4] = (vbios_vram >> 16); + } + + /* Copy bios data */ + bios = (char*)nv_card->PRAMIN; + memcpy(data, bios, NV_PROM_SIZE); + + if (nv_card->arch & NV5X) + nv_card->PMC[0x1700/4] = old_bar0_pramin; + + /* Make sure the bios is correct */ + if(verify_bios(data)) + return 1; + else + return 0; +} + +/* Load the video bios from the ROM. Note laptops might not have a ROM which can be accessed from the GPU */ +int load_bios_prom(char *data) +{ + int i; + + /* enable bios parsing; on some boards the display might turn off */ + nv_card->PMC[0x1850/4] = 0x0; + + for(i=0; iPROM[i]; - data = nv_card->PROM[i]; - data = nv_card->PROM[i]; - data = nv_card->PROM[i]; - data = nv_card->PROM[i]; - fprintf(fp, "%c", data); + data[i] = nv_card->PROM[i]; + data[i] = nv_card->PROM[i]; + data[i] = nv_card->PROM[i]; + data[i] = nv_card->PROM[i]; + data[i] = nv_card->PROM[i]; } - fclose(fp); /* disable the rom; if we don't do it the screens stays black on some cards */ nv_card->PMC[0x1850/4] = 0x1; + + /* Make sure the bios is correct */ + if(verify_bios(data)) + return 1; + else + return 0; } -#endif /* This function tries to read a copy of the bios from harddrive. If that doesn't exist it will dump the bios and then read it. You might wonder why we don't read the bios from card. The reason behind that is that some bioses are slow to read (can take seconds) and second on some cards (atleast on my gf2mx) the screen becomes black if I enable reading of the rom. */ -struct nvbios *read_bios(char *file) +struct nvbios *read_bios(const char *file) { - int fd = 0; - char *rom = NULL; struct nvbios *res; + char *rom = calloc(NV_PROM_SIZE, sizeof(char)); - if((fd = open(file, O_RDONLY)) == -1) - return NULL; /* We might need to redump the bios */ - - rom = mmap(0, 0xffff, PROT_READ, MAP_SHARED, fd, 0); if(!rom) - return NULL; /* We might need to redump the bios */ + return NULL; + + if(!load_bios_pramin(rom)) + { + if(!load_bios_file(file, rom)) + { + free(rom); + return NULL; + } + } /* Do the actual bios parsing */ res = parse_bios(rom); - /* Close the bios */ - close(fd); + /* Cleanup the mess */ + free(rom); return res; } diff -Nru nvclock-0.8b3/src/backend/config.c nvclock-0.8b4/src/backend/config.c --- nvclock-0.8b3/src/backend/config.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/config.c 2008-12-12 21:14:21.000000000 +0100 @@ -270,7 +270,10 @@ if(!(home = getenv("HOME"))) { - /* error */ + /* This code should only get entered when nvclock is started at system startup. + / The rest of the code and mainly the GTK version isn't prepared for this yet. + */ + return 1; } nvclock.path = malloc(strlen(home) + strlen("/.nvclock") +1); @@ -288,6 +291,7 @@ set_error_str(buf); return 0; } + stat(nvclock.path, &stat_buf); } /* Check if .nvclock really is a directory. For some users it was a file and this led to a segfault. */ diff -Nru nvclock-0.8b3/src/backend/CVS/Entries nvclock-0.8b4/src/backend/CVS/Entries --- nvclock-0.8b3/src/backend/CVS/Entries 2008-01-04 18:36:28.000000000 +0100 +++ nvclock-0.8b4/src/backend/CVS/Entries 2009-01-04 11:47:45.000000000 +0100 @@ -1,32 +1,32 @@ -/Makefile/1.2/Sun Apr 22 18:24:31 2007// -/error.c/1.3/Sun Apr 22 18:24:32 2007// -/f75375.c/1.6/Sun Apr 22 18:24:32 2007// -/f75375.h/1.4/Sun Apr 22 18:24:32 2007// -/i2c.h/1.8/Sun Apr 22 18:24:32 2007// -/libc_wrapper.c/1.2/Sun Apr 22 18:24:32 2007// -/lm99.c/1.6/Sun Apr 22 18:24:32 2007// -/nvcontrol.c/1.5/Sun Apr 22 18:24:32 2007// -/w83781d.c/1.2/Sun Apr 22 18:24:32 2007// -/w83l785r.c/1.5/Sun Apr 22 18:24:32 2007// -/xf86i2c.c/1.2/Sun Apr 22 18:24:32 2007// -/xf86i2c.h/1.3/Sun Apr 22 18:24:33 2007// -/xfree.h/1.1/Sun Apr 22 18:24:33 2007// -/i2c.c/1.14/Tue Apr 24 08:10:47 2007// -/adt7473.c/1.5/Fri Nov 2 10:23:00 2007// -/nvreg.h/1.4/Thu Aug 30 16:47:04 2007// -/overclock.c/1.19/Fri Nov 2 10:23:01 2007// -/utils.c/1.3/Sun Dec 2 21:30:17 2007// -/Makefile.in/1.16/Thu Jan 3 20:08:43 2008// -/back_bsd.c/1.37/Thu Jan 3 20:08:43 2008// -/back_linux.c/1.16/Thu Jan 3 20:08:43 2008// -/back_win32.c/1.10/Thu Jan 3 20:08:43 2008// -/backend.c/1.56/Thu Jan 3 20:08:43 2008// -/backend.h/1.28/Thu Jan 3 20:08:43 2008// -/config.c/1.30/Thu Jan 3 20:08:43 2008// -/info.c/1.103/Thu Jan 3 20:08:43 2008// -/nv30.c/1.26/Thu Jan 3 20:08:43 2008// -/nv50.c/1.10/Thu Jan 3 20:08:43 2008// -/nvclock.h/1.56/Thu Jan 3 20:08:43 2008// -/bios.c/1.41/Fri Jan 4 13:05:38 2008// -/nv40.c/1.66/Fri Jan 4 17:35:39 2008// +/error.c/1.3/Wed Oct 5 11:27:11 2005// +/f75375.c/1.6/Thu Mar 23 22:24:23 2006// +/f75375.h/1.4/Wed Oct 5 11:27:11 2005// +/libc_wrapper.c/1.2/Wed Oct 5 11:27:11 2005// +/w83781d.c/1.2/Sun May 7 10:42:12 2006// +/w83l785r.c/1.5/Wed Oct 5 11:27:11 2005// +/xf86i2c.c/1.2/Wed Oct 5 11:27:11 2005// +/xfree.h/1.1/Mon Apr 4 20:04:04 2005// +/i2c.h/1.8/Fri Mar 23 20:53:10 2007// +/nvcontrol.c/1.5/Fri Mar 23 20:39:20 2007// +/i2c.c/1.14/Fri May 4 19:39:10 2007// +/overclock.c/1.19/Wed Aug 22 09:41:45 2007// +/Makefile/1.2/Fri Nov 16 21:30:16 2007// +/Makefile.in/1.16/Thu Dec 27 16:05:38 2007// +/nv30.c/1.26/Sun Dec 30 14:11:24 2007// +/backend.c/1.57/Mon Mar 24 17:17:00 2008// +/back_win32.c/1.11/Sat Oct 25 15:34:41 2008// +/config.c/1.33/Fri Dec 12 20:14:21 2008// +/utils.c/1.5/Fri Dec 12 20:14:21 2008// +/nv40.c/1.67/Fri Dec 12 20:47:13 2008// +/xf86i2c.h/1.4/Sat Dec 13 20:37:32 2008// +/lm99.c/1.7/Sat Dec 13 21:56:04 2008// +/adt7473.c/1.9/Sun Dec 21 16:10:45 2008// +/back_linux.c/1.18/Tue Dec 23 20:08:47 2008// +/backend.h/1.29/Tue Dec 23 22:35:15 2008// +/back_bsd.c/1.40/Sat Dec 27 20:40:06 2008// +/nvclock.h/1.64/Sun Dec 28 17:53:23 2008// +/info.c/1.121/Mon Dec 29 00:00:34 2008// +/nvreg.h/1.9/Mon Dec 29 10:22:29 2008// +/bios.c/1.47/Sat Jan 3 16:37:18 2009// +/nv50.c/1.33/Sun Jan 4 10:46:39 2009// D diff -Nru nvclock-0.8b3/src/backend/info.c nvclock-0.8b4/src/backend/info.c --- nvclock-0.8b3/src/backend/info.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/info.c 2008-12-29 01:00:34.000000000 +0100 @@ -226,7 +226,9 @@ { 0x240, "nVidia Geforce 6150", NFORCE }, { 0x241, "nVidia Geforce 6150LE", NFORCE }, { 0x242, "nVidia Geforce 6100", NFORCE }, + { 0x244, "nVidia Geforce Go 6150", NFORCE }, { 0x245, "nVidia Quadro NVS 210S / Geforce 6150LE", NFORCE }, + { 0x247, "nVidia Geforce Go 6100", NFORCE }, { 0x2dd, "nVidia Unknown NV4x", DESKTOP }, { 0x2de, "nVidia Unknown NV4x", DESKTOP }, { 0x90, "nVidia G70", DESKTOP }, @@ -242,7 +244,10 @@ { 0x290, "nVidia Geforce 7900GTX", DESKTOP }, { 0x291, "nVidia Geforce 7900GT", DESKTOP }, { 0x292, "nVidia Geforce 7900GS", DESKTOP }, + { 0x293, "nVidia Geforce 7950GX2", DESKTOP }, + { 0x294, "nVidia Geforce 7950GX2", DESKTOP }, { 0x295, "nVidia Geforce 7950GT", DESKTOP }, + { 0x297, "nVidia Geforce Go 7950GTX", MOBILE }, { 0x298, "nVidia Geforce Go 7900GS", MOBILE }, { 0x299, "nVidia Geforce Go 7900GTX", MOBILE }, { 0x29a, "nVidia QuadroFX 2500M", MOBILE }, @@ -326,23 +331,49 @@ { 0x53a, "nVidia Geforce 7050PV nForce 630a", NFORCE}, { 0x53b, "nVidia Geforce 7050PV nForce 630a", NFORCE}, { 0x53e, "nVidia Geforce 7025 nForce 630a", NFORCE}, + { 0x5e0, "nvidia GeForce GT200-400", DESKTOP }, + { 0x5e1, "nvidia GeForce GTX 280", DESKTOP }, + { 0x5e2, "nvidia GeForce GTX 260", DESKTOP }, + { 0x5e7, "nvidia Tesla C1060", DESKTOP }, + { 0x5ed, "nvidia Quadroplex 2200 D2", DESKTOP }, + { 0x5f8, "nvidia Quadroplex 2200 S4", DESKTOP }, + { 0x5f9, "nvidia Quadro CX", DESKTOP }, + { 0x5fd, "nvidia QuadroFX 5800", DESKTOP }, + { 0x5fe, "nvidia QuadroFX 5800", DESKTOP }, { 0x600, "nVidia Geforce 8800GTS 512", DESKTOP }, + { 0x602, "nVidia Geforce 8800GT", DESKTOP }, + { 0x604, "nVidia Geforce 9800GX2", DESKTOP }, + { 0x606, "nVidia Geforce 8800GS", DESKTOP }, + { 0x60d, "nVidia Geforce 8800GS", DESKTOP }, { 0x609, "nVidia Geforce 8800M GTS", MOBILE }, + { 0x60c, "nVidia Geforce 8800M GTX", MOBILE }, + { 0x610, "nVidia Geforce 9600GSO", DESKTOP }, { 0x611, "nVidia Geforce 8800GT", DESKTOP }, + { 0x612, "nVidia Geforce 9800GTX", DESKTOP }, + { 0x614, "nVidia Geforce 9800GT", DESKTOP }, { 0x61a, "nVidia QuadroFX 3700", DESKTOP }, - { 0x6e0, "nVidia G98", DESKTOP }, - { 0x6e1, "nVidia G98", DESKTOP }, + { 0x61c, "nVidia QuadroFX 3600M", MOBILE }, + { 0x622, "nVidia Geforce 9600GT", DESKTOP }, + { 0x623, "nVidia Geforce 9600GS", DESKTOP }, + { 0x640, "nVidia Geforce 9500GT", DESKTOP }, + { 0x643, "nVidia Geforce 9500GT", DESKTOP }, + { 0x647, "nVidia Geforce 9600M GT", MOBILE }, + { 0x648, "nVidia Geforce 9600M GS", MOBILE }, + { 0x649, "nVidia Geforce 9600M GT", MOBILE }, + { 0x64b, "nVidia Geforce 9500M G", MOBILE }, + { 0x6e0, "nVidia Geforce 9300GE", DESKTOP }, + { 0x6e1, "nVidia Geforce 9300GS", DESKTOP }, { 0x6e2, "nVidia Geforce 8400", DESKTOP }, - { 0x6e3, "nVidia G98", DESKTOP }, + { 0x6e3, "nVidia Geforce 8400SE", DESKTOP }, { 0x6e4, "nVidia Geforce 8400GS", DESKTOP }, - { 0x6e5, "nVidia G98", DESKTOP }, - { 0x6e6, "nVidia G98", DESKTOP }, + { 0x6e5, "nVidia Geforce 9300M GS", MOBILE }, + { 0x6e6, "nVidia Geforce G100", DESKTOP }, { 0x6e7, "nVidia G98", DESKTOP }, - { 0x6e8, "nVidia G98", DESKTOP }, - { 0x6e9, "nVidia G98", DESKTOP }, - { 0x6ea, "nVidia G98", DESKTOP }, - { 0x6eb, "nVidia G98", DESKTOP }, - { 0x6ec, "nVidia G98", DESKTOP }, + { 0x6e8, "nVidia Geforce 9200M GS", MOBILE }, + { 0x6e9, "nVidia Geforce 9300M GS", MOBILE }, + { 0x6ea, "nVidia Quadro NVS 150M", MOBILE }, + { 0x6eb, "nVidia Quadro NVS 160M", MOBILE }, + { 0x6ec, "nVidia Geforce G105M", MOBILE }, { 0x6ed, "nVidia G98", DESKTOP }, { 0x6ee, "nVidia G98", DESKTOP }, { 0x6ef, "nVidia G98", DESKTOP }, @@ -354,14 +385,19 @@ { 0x6f5, "nVidia G98", DESKTOP }, { 0x6f6, "nVidia G98", DESKTOP }, { 0x6f7, "nVidia G98", DESKTOP }, - { 0x6f8, "nVidia G98", DESKTOP }, - { 0x6f9, "nVidia G98", DESKTOP }, - { 0x6fa, "nVidia G98", DESKTOP }, - { 0x6fb, "nVidia G98", DESKTOP }, + { 0x6f8, "nVidia Quadro NVS 420", DESKTOP }, + { 0x6f9, "nVidia QuadroFX 370 LP", DESKTOP }, + { 0x6fa, "nVidia Quadro NVS 450", DESKTOP }, + { 0x6fb, "nVidia QuadroFX 370M", MOBILE }, { 0x6fc, "nVidia G98", DESKTOP }, - { 0x6fd, "nVidia G98", DESKTOP }, + { 0x6fd, "nVidia Quadro NVS 295", DESKTOP }, { 0x6fe, "nVidia G98", DESKTOP }, - { 0x6ff, "nVidia G98", DESKTOP }, + { 0x6ff, "nVidia G98-GL", DESKTOP }, + { 0x860, "nVidia Geforce 9300", DESKTOP }, + { 0x861, "nVidia Geforce 9400", DESKTOP }, + { 0x863, "nVidia Geforce 9400M", MOBILE }, + { 0x864, "nVidia Geforce 9300", DESKTOP }, + { 0x865, "nVidia Geforce 9300", DESKTOP }, { 0, NULL, UNKNOWN } }; @@ -466,12 +502,25 @@ case 0x420: /* 8500 'G86' */ arch = G86; break; - case 0x600: /* G92 */ - case 0x610: /* G92 */ + case 0x5e0: /* GT2x0 */ + case 0x5f0: /* GT2x0 */ + arch = GT200; + break; case 0x6e0: /* G98 */ case 0x6f0: /* G98 */ + case 0x860: /* C79 */ arch = G86; break; + case 0x600: /* G92 */ + case 0x610: /* G92 */ + arch = G92; + break; + case 0x620: /* 9600GT 'G94' */ + arch = G94; + break; + case 0x640: /* 9500GT */ + arch = G96; + break; case 0x240: case 0x3d0: /* not sure if this is a C51 too */ case 0x530: /* not sure if the 70xx is C51 too */ @@ -547,6 +596,12 @@ return nv_read_pbus16(PCI_DEVICE_ID); } +/* Retrieve the pci subvendor id */ +static short get_pci_subvendor_id() +{ + return nv_read_pbus16(PCI_SUBSYSTEM_VENDOR_ID); +} + static int set_gpu_pci_id(short id) { if(nv_card->arch & (NV10 | NV20)) @@ -864,13 +919,23 @@ char rmask, rmask_default; switch(nv_card->get_rop_units(&rmask, &rmask_default)) { + case 32: /* Geforce GTX280 */ + return 512; + case 28: /* Geforce GTX260 */ + return 448; case 24: /* 8800GTX */ return 384; case 20: /* 8800GTS */ return 320; + case 16: /* 8800GT */ + return 256; + case 12: /* 8800GS */ + return 192; case 8: /* 8600GT/GTS */ - case 4: /* 8500GT */ + case 4: /* 8500GT; 8400GS boards use the same core and offer 64-bit, how to handle this? */ return 128; + case 2: /* 8300GS */ + return 64; } } /* Generic algorithm for cards up to the Geforce4 */ @@ -986,6 +1051,7 @@ printf("NV_15F4 (0x15f4): %08x\n", nv_card->PMC[0x15f4/4]); printf("NV_15F8 (0x15f8): %08x\n", nv_card->PMC[0x15f8/4]); printf("NV_PBUS_PCI_0 (0x1800): %08x\n", nv_read_pbus(PCI_VENDOR_ID)); + printf("NV_PBUS_PCI_0 (0x182c): %08x\n", nv_read_pbus(PCI_SUBSYSTEM_VENDOR_ID)); if(nv_card->arch & (NV4X | NV5X)) { @@ -1027,9 +1093,14 @@ if(nv_card->arch & NV5X) { printf("NV_E100 (0xe100): %08x\n", nv_card->PMC[0xe100/4]); + printf("NV_E114 (0xe114): %08x\n", nv_card->PMC[0xe114/4]); + printf("NV_E118 (0xe118): %08x\n", nv_card->PMC[0xe118/4]); printf("NV_E11C (0xe11c): %08x\n", nv_card->PMC[0xe11c/4]); printf("NV_E120 (0xe120): %08x\n", nv_card->PMC[0xe120/4]); + printf("NV_E300 (0xe300): %08x\n", nv_card->PMC[0xe300/4]); printf("NV_20008 (0x20008): %08x\n", nv_card->PMC[0x20008/4]); + printf("NV_20400 (0x20400): %08x\n", nv_card->PMC[0x20400/4]); + printf("NV_PDISPLAY_SOR0_REGS_BRIGHTNESS(%x): %08x\n", NV_PDISPLAY_SOR0_REGS_BRIGHTNESS, nv_card->PDISPLAY[NV_PDISPLAY_SOR0_REGS_BRIGHTNESS/4]); } printf("NV_PFB_CFG0 (0x100200): %08x\n", nv_card->PFB[0x200/4]); @@ -1106,6 +1177,9 @@ nv_card->card_name = (char*)get_card_name(nv_card->device_id, &nv_card->gpu); } + /* Set the pci subvendor id */ + nv_card->subvendor_id = get_pci_subvendor_id(); + /* gpu arch/revision */ nv_card->get_gpu_architecture = get_gpu_architecture; nv_card->get_gpu_revision = get_gpu_revision; diff -Nru nvclock-0.8b3/src/backend/lm99.c nvclock-0.8b4/src/backend/lm99.c --- nvclock-0.8b3/src/backend/lm99.c 2007-04-22 20:24:32.000000000 +0200 +++ nvclock-0.8b4/src/backend/lm99.c 2008-12-13 22:56:04.000000000 +0100 @@ -76,24 +76,29 @@ xf86I2CReadByte(dev, LM99_REG_REMOTE_TEMP, &temp); - /* Cards with lm99 chips need an offset of 16C according to the datasheets. - / Further an extra offset of 10C seems to be needed on Geforce6800 cards to match nvidia-settings. - / Last but not least Geforce6600GT boards containing an LM99 sensor seem to need a total offset of 21C. - */ + /* Cards with lm99 chips need an offset of 16C according to the datasheets. */ if(dev->chip_id == LM99) { + temp += 16; + } + + /* The temperature needs to be corrected using an offset which is stored in the bios. + / If no bios has been parsed we fall back to a default value. + */ + if(nv_card->bios) + { + temp += nv_card->bios->sensor_cfg.temp_correction; + } + else + { + /* An extra offset of 10C seems to be needed on Geforce6800 cards to match nvidia-settings. + / Last but not least Geforce6600GT boards containing an LM99 sensor seem to need a +5C offset. + */ if(dev->arch == NV43) - temp += 21; + temp += 5; else if(dev->arch & NV4X) - temp += 26; - else - temp += 16; + temp += 10; } - /* Geforce6 boards need an extra offset of +10C on both LM99 and MAX6659 chipsets. - / The code below is only executed for MAX6659 as we already handle the extra 10C above. - */ - else if(dev->arch & NV4X) - temp += 10; return temp; } diff -Nru nvclock-0.8b3/src/backend/nv40.c nvclock-0.8b4/src/backend/nv40.c --- nvclock-0.8b3/src/backend/nv40.c 2008-01-04 18:35:39.000000000 +0100 +++ nvclock-0.8b4/src/backend/nv40.c 2008-12-12 21:47:13.000000000 +0100 @@ -399,6 +399,12 @@ else temp = nv_card->PMC[0x15b4/4] & 0xff; + if(nv_card->debug) + { + printf("NV_15B4 (0x15B4): %08x\n", nv_card->PMC[0x15b4/4]); + printf("slope=%f, offset=%f, correction=%d\n", slope, offset, correction); + } + return (int)(temp * slope + offset) + correction; } diff -Nru nvclock-0.8b3/src/backend/nv50.c nvclock-0.8b4/src/backend/nv50.c --- nvclock-0.8b3/src/backend/nv50.c 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/nv50.c 2009-01-04 11:46:39.000000000 +0100 @@ -75,10 +75,19 @@ case G86: mask = 0x010001; break; + case G92: + mask = 0x0f00ff; + break; + case G94: + mask = 0x0f000f; + break; + case GT200: + mask = 0xff03ff; + break; } if(smask) - *smask = mask & 0xff; + *smask = mask & 0x3ff; if(rmask) *rmask = (mask >> 16) & 0xff; @@ -91,20 +100,24 @@ static int nv50_get_stream_units(char *mask, char *default_mask) { int i, stream_units=0; - unsigned char stream_units_cfg = nv_card->PMC[0x1540/4] & 0xff; + int32_t stream_units_cfg = nv_card->PMC[0x1540/4] & 0x3ff; /* The number of shaders is again stored in 0x1540 - bit7-0: number of unified pixel shaders in blocks of 16 + bit9-0: number of unified pixel shaders in blocks of 16 bit23-16: number of ROP units in blocks of 4 bit31-24: what's in here? */ - for(i=0; i<8; i++) + for(i=0; i<10; i++) if((stream_units_cfg >> i) & 0x1) stream_units++; nv50_get_default_mask(default_mask, 0); *mask = stream_units_cfg; + + if(nv_card->arch == GT200) + return (stream_units * 24); /* GT200 stores stream units in blocks of 24 */ + return (stream_units << 4); /* stream units are stored in blocks of 16 */ } @@ -126,6 +139,45 @@ return (rop_units << 2); /* rop units are stored in blocks of 4 */ } +static float g84_get_fanspeed() +{ + int pwm_divider = nv_card->PMC[0xe11c/4] & 0x7fff; + + /* On most Geforce8/9 cards I have seen the fanspeed register is 'inverted', so + / a low value corresponds with fullspeed (to be exact the register defines the low + / period of a pwm pulse. Though some boards aren't inverted like a 8500GT (G86). I'm + / not sure what we should do about this. If it is possible to whitelist some generations + / or so we should perhaps do that or perhaps there is some setting in the bios? So right + / now 100% would show 0% on a 8500GT. + / + / Further some boards use 0xe114 / 0xe118 instead of 0xe11c / 0xe1220. At least the 9800GTX + / seems to do that. When I have a more clear picture of the situation those should receive support too. + */ + float fanspeed = (float)(pwm_divider - (nv_card->PMC[0xe120/4] & 0x7fff)) * 100.0/(float)pwm_divider; + return fanspeed; +} + +static void g84_set_fanspeed(float speed) +{ + int value; + int pwm_divider = nv_card->PMC[0xe11c/4] & 0x7fff; + + /* For safety reasons we should never disable the fan by not putting it below 10%; further negative values don't exist ;) */ + if(speed < 10 || speed > 100) + return; + + /* Bit31 must be set else the hardware doesn't seem to do anything with the changes + / Bit30-16 contain some magical bits on 9500GT and other cards which we should preserve. + / On a 9500gt the contents of 0xe120 could be e.g. 0x0300010e with a pwm_divider of 0x21d. + / + / Note Oxe300 is also related to the fanspeed. By default it seems to contain 0x100 on + / 9600GT and other cards. Setting this value to 0x300 seems to set the fanspeed to a fixed + / value. Apparently 0xe300 acts like a multiplexer? + */ + value = 0x80000000 | (nv_card->PMC[0xe120/4] & 0x7fff0000) | (((int)(100 - speed) * pwm_divider/100) & 0x7fff); + nv_card->PMC[0xe120/4] = value; +} + /* Reading of the internal gpu sensor, it not entirely correct yet */ static int nv50_get_gpu_temp(void *sensor) { @@ -138,10 +190,69 @@ offset = -227.0; slope = 430.0/10000.0; + if(nv_card->debug) + { + printf("NV_20008 (0x20008): %08x\n", nv_card->PMC[0x20008/4]); + printf("slope=%f, offset=%f, correction=%d\n", slope, offset, correction); + } + temp = nv_card->PMC[0x20008/4] & 0x1fff; return (int)(temp * slope + offset) + correction; } +static int g84_get_gpu_temp(void *sensor) +{ + if(nv_card->debug) + { + /* A calibrated value of the temperature is stored in 0x20400, raw in 0x20008 it would require bios info to calibrate it */ + printf("NV_20008 (0x20008): %08x\n", nv_card->PMC[0x20008/4]); + printf("NV_20400 (0x20400): %08x\n", nv_card->PMC[0x20400/4]); + } + + /* A calibrated value of the temperature is stored in 0x20400 */ + return nv_card->PMC[0x20400/4]; +} + +static int g92_get_gpu_temp(void *sensor) +{ + int temp; + float offset; + float divider; + + /* According to a formula on the rivatuner forum Asus uses the following formula: (-13115 + raw_temp)/18.7 + 1. */ + offset = -13115 + 18.7; + divider = 18.7; + + if(nv_card->debug) + { + printf("NV_20008 (0x20008): %08x\n", nv_card->PMC[0x20008/4]); + printf("divider=%f, offset=%f\n", divider, offset); + } + + temp = nv_card->PMC[0x20008/4] & 0x1fff; + return (int)(temp + offset)/divider; +} + + +/* Get current backpanel brightness level on laptops */ +static int nv50_mobile_get_smartdimmer() +{ + int val = nv_card->PDISPLAY[NV_PDISPLAY_SOR0_REGS_BRIGHTNESS/4]; + /* Convert level to a value between 1 and 100 */ + /* For now assume the maximum value is 1024 */ + return ((val / 1024.0 * 100) + 0.5); +} + +/* Adjust backpanel brightness on laptops */ +static void nv50_mobile_set_smartdimmer(int level) +{ + int val; + if(level < 15 || level > 100) + return; + val = (level * 1024 / 100) | NV_PDIPSLAY_SOR0_REGS_BRIGHTNESS_CONTROL_ENABLED; + nv_card->PDISPLAY[NV_PDISPLAY_SOR0_REGS_BRIGHTNESS/4] = val; +} + static int CalcSpeed_nv50(int base_freq, int m1, int m2, int n1, int n2, int p) { return (int)((float)(n1*n2)/(m1*m2) * base_freq) >> p; @@ -199,7 +310,6 @@ static void nv50_set_memory_speed(unsigned int memclk) { - printf("blaat: %d %p %x\n", memclk, nvclock.dpy, nv_card->state); } static float nv50_get_shader_speed() @@ -282,15 +392,66 @@ i2c_sensor_init(); } + /* For now unlock laptops of HP, Samsung (Sanyo), Sony and Zepto. Later on we whould find a better way if there is any. + / Most likely there is some info in the bios which can help us figuring out what smartdimmer method is used. + / The code has been reported to work on the following models: + / - Apple Macbook5,1 (Aluminium), Geforce 9400M, dev=0x863, subvendor=0x106b + / - HP Compaq 8510W, QuadroFX 570M, dev=0x40c, subvendor=0x103c + / - HP Compaq 8710P, QuadroFX 320M, dev=0x40b, subvendor=0x103c + / - Samsung Q210 / Q310 / R510, Geforce 9200M, dev=0x6e8, subvendor=0x144d + / - Sony Vaio models using 8400/8600 GPUs: + / VGN SZ650N, SZ61MN/B, SZ730E, SZ750N, SZ71MN/B, SZ71E, VGN FZ38M, FZ31M, FZ11Z, NR31, AR41E, FZ11S, FZ290, FZ250AE, + / FZ21E, FZ21M, FZ470E, FZ340E, FZ190N, FZ18M, FZ31E, FZ18E, FZ31Z, FZ21Z, FZ31S, AR51SU, AR71S + / - Zepto (unknown model), Geforce 9600M, dev=0x649, subvendor=0x1a46, + */ + if((nv_card->gpu == MOBILE) && + ((nv_card->subvendor_id == PCI_VENDOR_ID_APPLE) || + (nv_card->subvendor_id == PCI_VENDOR_ID_HP) || + (nv_card->subvendor_id == PCI_VENDOR_ID_SANYO) || + (nv_card->subvendor_id == PCI_VENDOR_ID_SONY) || + (nv_card->subvendor_id == PCI_VENDOR_ID_ZEPTO))) + { + nv_card->caps |= SMARTDIMMER; + nv_card->get_smartdimmer = nv50_mobile_get_smartdimmer; + nv_card->set_smartdimmer = nv50_mobile_set_smartdimmer; + } + /* Temperature monitoring; all NV50 cards feature an internal temperature sensor / but only use it when there is no I2C sensor around. */ - if(!(nv_card->caps & GPU_TEMP_MONITORING)) + if((nv_card->arch & NV50) && !(nv_card->caps & GPU_TEMP_MONITORING)) { nv_card->caps |= GPU_TEMP_MONITORING; nv_card->sensor_name = (char*)strdup("GPU Internal Sensor"); nv_card->get_gpu_temp = (int(*)(I2CDevPtr))nv50_get_gpu_temp; } + else if((nv_card->arch & (G84 | G86 | G94 | G96)) && !(nv_card->caps & GPU_TEMP_MONITORING)) + { + nv_card->caps |= GPU_TEMP_MONITORING; + nv_card->sensor_name = (char*)strdup("GPU Internal Sensor"); + nv_card->get_gpu_temp = (int(*)(I2CDevPtr))g84_get_gpu_temp; + } + else if((nv_card->arch & G92) && !(nv_card->caps & GPU_TEMP_MONITORING)) + { + /* Nearly all G92 boards use a ADT7473 except some Asus models. They don't use the bios data properly, so give it its own function */ + nv_card->caps |= GPU_TEMP_MONITORING; + nv_card->sensor_name = (char*)strdup("GPU Internal Sensor"); + nv_card->get_gpu_temp = (int(*)(I2CDevPtr))g92_get_gpu_temp; + } + + + /* Fanspeed adjustment support for several 8600GT 'G84', 9600GT 'G94' and 9600GSO 'G92' boards + / For now only support fanspeed adjustment using pwm registers 0xe11c/0xe120. Assume they are + / active when 0xe11c (pwm divider) is higher than 1. We need a proper method to distinguish between + / the use of 0xe114/0xe118 and 0xe11c/0xe120 and to detect whether the pwm signal needs to be inverted + / or not. Likely there is info in the bios for this. + */ + if((nv_card->arch & (G84 | G86 | G92 | G94 | G96)) && !(nv_card->caps & I2C_FANSPEED_MONITORING) && (nv_card->PMC[0xe11c/4] > 1)) + { + nv_card->caps |= GPU_FANSPEED_MONITORING; + nv_card->get_fanspeed = g84_get_fanspeed; + nv_card->set_fanspeed = g84_set_fanspeed; + } /* Mobile GPU check; we don't want to overclock those unless the user wants it */ if(nv_card->gpu == MOBILE) diff -Nru nvclock-0.8b3/src/backend/nvclock.h nvclock-0.8b4/src/backend/nvclock.h --- nvclock-0.8b3/src/backend/nvclock.h 2008-01-03 21:08:43.000000000 +0100 +++ nvclock-0.8b4/src/backend/nvclock.h 2008-12-28 18:53:23.000000000 +0100 @@ -48,7 +48,11 @@ #define NV50 (1<<17) #define G84 (1<<18) #define G86 (1<<19) -#define NV5X (NV50 | G84 | G86) +#define G92 (1<<20) +#define G94 (1<<21) +#define G96 (1<<22) +#define GT200 (1<<23) +#define NV5X (NV50 | G84 | G86 | G92 | G94 | G96 | GT200) #define NV_ERR_NO_DEVICES_FOUND 1 #define NV_ERR_NO_DRIVERS_FOUND 2 @@ -162,10 +166,10 @@ struct voltage volt_lst[4]; short perf_entries; - struct performance perf_lst[3]; + struct performance perf_lst[4]; short pll_entries; - struct pll pll_lst[8]; + struct pll pll_lst[16]; struct sensor sensor_cfg; @@ -182,6 +186,7 @@ short number; /* internal card number; used by the gtk client and set_card to see if we really need to switch cards */ short caps; /* A bitmask that contains what card features are supported; A normal gpu can do gpu/memory overclocking but a nforce can do only gpu. */ short device_id; + short subvendor_id; int arch; /* Architecture NV10, NV15, NV20 ..; for internal use only as we don't list all architectures */ unsigned int reg_address; char *dev_name; /* /dev/mem or /dev/nvidiaX */ @@ -199,8 +204,10 @@ int mem_mapped; /* Check for set_card to see if the memory has been mapped or not. */ volatile unsigned int *PFB; volatile unsigned int *PBUS; + volatile unsigned int *PDISPLAY; /* NV50 display registers */ volatile unsigned int *PMC; volatile unsigned int *PRAMDAC; + volatile unsigned int *PRAMIN; volatile unsigned int *PEXTDEV; volatile unsigned char *PROM; /* Nvidia bios */ volatile unsigned char *PCIO; diff -Nru nvclock-0.8b3/src/backend/nvreg.h nvclock-0.8b4/src/backend/nvreg.h --- nvclock-0.8b3/src/backend/nvreg.h 2007-08-30 18:47:04.000000000 +0200 +++ nvclock-0.8b4/src/backend/nvreg.h 2008-12-29 11:22:29.000000000 +0100 @@ -21,7 +21,14 @@ /* PCI stuff */ #define PCI_VENDOR_ID 0x0 /* 16-bit */ +# define PCI_VENDOR_ID_APPLE 0x106b +# define PCI_VENDOR_ID_HP 0x103c +# define PCI_VENDOR_ID_SANYO 0x144d /* Samsung laptops use the Sanyo vendor id */ +# define PCI_VENDOR_ID_SONY 0x104d +# define PCI_VENDOR_ID_ZEPTO 0x1a46 #define PCI_DEVICE_ID 0x2 /* 16-bit */ +#define PCI_SUBSYSTEM_VENDOR_ID 0x2c /* 16-bit */ +#define PCI_SUBSYSTEM_ID 0x2e /* 16-bit */ #define PCI_CAPABILITY_LIST 0x34 #define PCI_CAP_LIST_ID 0x0 #define PCI_CAP_LIST_NEXT 0x1 @@ -58,6 +65,20 @@ # define NV_PMC_BOOT_0_REVISION_MAJOR 0xf0 /* in general A or B, on pre-NV10 it was different */ # define NV_PMC_BOOT_0_REVISION_MASK 0xff +/* PDISPLAY */ +#define NV_PDISPLAY_OFFSET 0x610000 +#define NV_PDISPLAY_SIZE 0x10000 +#define NV_PDISPLAY_SOR0_REGS_BRIGHTNESS 0xc084 +# define NV_PDIPSLAY_SOR0_REGS_BRIGHTNESS_CONTROL_ENABLED 0x80000000 + +/* PRAMIN */ +#define NV_PRAMIN_OFFSET 0x00700000 +#define NV_PRAMIN_SIZE 0x00100000 + +/* PROM */ +#define NV_PROM_OFFSET 0x300000 +#define NV_PROM_SIZE 0xffff /* size in bytes */ + /* NV4X registers * * 0xc040: used to enble/disable parts of the GPU? diff -Nru nvclock-0.8b3/src/backend/utils.c nvclock-0.8b4/src/backend/utils.c --- nvclock-0.8b3/src/backend/utils.c 2007-12-02 22:30:17.000000000 +0100 +++ nvclock-0.8b4/src/backend/utils.c 2008-12-12 21:14:21.000000000 +0100 @@ -49,6 +49,9 @@ case 0x50: sprintf(buf, "NV50/G80"); /* 8800 */ break; + case 0xa0: + sprintf(buf, "GT200"); /* Geforce GTX260/280 */ + break; default: if(arch <= 0x44) /* The NV44/6200TC is the last card with only an NV name */ sprintf(buf, "NV%X", arch); diff -Nru nvclock-0.8b3/src/backend/xf86i2c.h nvclock-0.8b4/src/backend/xf86i2c.h --- nvclock-0.8b3/src/backend/xf86i2c.h 2007-04-22 20:24:33.000000000 +0200 +++ nvclock-0.8b4/src/backend/xf86i2c.h 2008-12-13 21:37:32.000000000 +0100 @@ -62,7 +62,7 @@ int StartTimeout; /* usec */ short chip_id; /* type of i2c chip; required atleast by the lm99 to decide whether to add an offset or not */ - short arch; /* architecture to which the gpu belongs; the lm99 code needs this for adding offsets too */ + int arch; /* architecture to which the gpu belongs; the lm99 code needs this for adding offsets too */ char *chip_name; I2CSlaveAddr SlaveAddr; diff -Nru nvclock-0.8b3/src/CVS/Entries nvclock-0.8b4/src/CVS/Entries --- nvclock-0.8b3/src/CVS/Entries 2008-01-04 18:36:28.000000000 +0100 +++ nvclock-0.8b4/src/CVS/Entries 2009-01-04 11:55:09.000000000 +0100 @@ -1,7 +1,8 @@ /.cvsignore/1.1/Mon Sep 15 16:40:12 2003// -/Makefile.in/1.8/Fri Sep 2 08:56:03 2005// D/backend//// D/gtk//// D/nvcontrol//// D/qt//// -/nvclock.c/1.84/Fri Jan 4 17:32:57 2008// +/Makefile.in/1.12/Sat Jan 3 17:02:54 2009// +/smartdimmer.c/1.3/Sat Jan 3 17:11:22 2009// +/nvclock.c/1.95/Sun Jan 4 10:54:28 2009// diff -Nru nvclock-0.8b3/src/gtk/CVS/Entries nvclock-0.8b4/src/gtk/CVS/Entries --- nvclock-0.8b3/src/gtk/CVS/Entries 2008-01-04 18:36:29.000000000 +0100 +++ nvclock-0.8b4/src/gtk/CVS/Entries 2009-01-03 18:12:15.000000000 +0100 @@ -1,5 +1,4 @@ /.cvsignore/1.1/Mon Sep 15 16:40:12 2003// -/Makefile.in/1.9/Fri Sep 2 08:36:32 2005// /banner.c/1.3/Sat Dec 10 20:47:25 2005// /banner.h/1.3/Sat Dec 10 20:47:25 2005// /banner_gl.h/1.2/Mon Aug 29 11:47:55 2005// @@ -7,9 +6,10 @@ /interface.h/1.9/Sat Dec 10 20:47:26 2005// /settings.c/1.6/Sat Dec 10 20:47:26 2005// /settings.h/1.4/Sat Dec 10 20:47:26 2005// -/gl.c/1.18/Thu Jan 3 20:08:44 2008// -/gl.h/1.11/Thu Jan 3 20:08:44 2008// -/hw.c/1.51/Thu Jan 3 20:08:44 2008// -/hw.h/1.18/Thu Jan 3 20:08:44 2008// -/main.c/1.23/Fri Jan 4 17:32:38 2008// +/gl.h/1.11/Fri Dec 28 17:42:44 2007// +/hw.h/1.18/Sun Dec 30 15:01:59 2007// +/Makefile.in/1.10/Sun May 11 10:25:46 2008// +/hw.c/1.52/Sun May 11 10:25:46 2008// +/gl.c/1.19/Fri May 30 23:09:19 2008// +/main.c/1.25/Sat Jan 3 17:11:48 2009// D diff -Nru nvclock-0.8b3/src/gtk/gl.c nvclock-0.8b4/src/gtk/gl.c --- nvclock-0.8b3/src/gtk/gl.c 2008-01-03 21:08:44.000000000 +0100 +++ nvclock-0.8b4/src/gtk/gl.c 2008-05-31 01:09:19.000000000 +0200 @@ -136,6 +136,10 @@ /* Wrapper around NVGetAttribute used for configuration file support */ int GLGetAttribute(config *conf, Display *dpy, int screen, unsigned int disp_mask, unsigned int option, int *value) { + /* Verify if the option is available before continuing */ + if(!NVGetAttribute(dpy, screen, disp_mask, option, value)) + return 0; + /* When initialize is set, we will bypass NVGetAttribute and read the values / from the configuration file. */ @@ -437,7 +441,7 @@ { glx_vendor = (char*)pglXQueryServerString(dpy, screen, GLX_VENDOR); glx_version = (char*)pglXQueryServerString(dpy, screen, GLX_VERSION); - glx_direct = (char*)pglXIsDirect(dpy, ctx) ? "Yes" : "No"; + glx_direct = (char*)(pglXIsDirect(dpy, ctx) ? "Yes" : "No"); gl_vendor = (char*)pglGetString(GL_VENDOR); gl_renderer = (char*)pglGetString(GL_RENDERER); gl_version = (char*)pglGetString(GL_VERSION); diff -Nru nvclock-0.8b3/src/gtk/hw.c nvclock-0.8b4/src/gtk/hw.c --- nvclock-0.8b3/src/gtk/hw.c 2008-01-03 21:08:44.000000000 +0100 +++ nvclock-0.8b4/src/gtk/hw.c 2008-05-11 12:25:46.000000000 +0200 @@ -30,6 +30,7 @@ #include #include #include +#include #include #include diff -Nru nvclock-0.8b3/src/gtk/main.c nvclock-0.8b4/src/gtk/main.c --- nvclock-0.8b3/src/gtk/main.c 2008-01-04 18:32:38.000000000 +0100 +++ nvclock-0.8b4/src/gtk/main.c 2009-01-03 18:11:48.000000000 +0100 @@ -58,7 +58,7 @@ window_nvclock = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(window_nvclock), 540, 280); - gtk_window_set_title(GTK_WINDOW(window_nvclock), "NVClock 0.8 (Beta3)"); + gtk_window_set_title(GTK_WINDOW(window_nvclock), "NVClock 0.8 (Beta4)"); main_window = (struct MainWindow*)calloc(1, sizeof(struct MainWindow)); @@ -255,6 +255,9 @@ { GtkWidget *window_nvclock; + gtk_set_locale (); + gtk_init (&argc, &argv); + /* Initialize nvclock. This must be done here instead of in the hardware backend / because of the configuration file which gets initialized by init_nvclock. */ @@ -269,9 +272,6 @@ return 0; } - gtk_set_locale (); - gtk_init (&argc, &argv); - window_nvclock = create_window_main (); gtk_widget_show (window_nvclock); diff -Nru nvclock-0.8b3/src/gtk/Makefile.in nvclock-0.8b4/src/gtk/Makefile.in --- nvclock-0.8b3/src/gtk/Makefile.in 2005-09-02 10:36:32.000000000 +0200 +++ nvclock-0.8b4/src/gtk/Makefile.in 2008-05-11 12:25:46.000000000 +0200 @@ -7,9 +7,9 @@ libbackend=../backend/libbackend.a libnvcontrol=../nvcontrol/libnvcontrol.a -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@bindir@ +prefix=$(DESTDIR)@prefix@ +exec_prefix=$(DESTDIR)@exec_prefix@ +bindir=$(DESTDIR)@bindir@ ifeq ($(HAVE_GTK2), yes) PROGRAM=nvclock_gtk @@ -46,4 +46,4 @@ $(INSTALL_APP) uninstall: - $(UNINSTALL_APP) \ Pas de fin de ligne à la fin du fichier. + $(UNINSTALL_APP) diff -Nru nvclock-0.8b3/src/Makefile.in nvclock-0.8b4/src/Makefile.in --- nvclock-0.8b3/src/Makefile.in 2005-09-02 10:56:03.000000000 +0200 +++ nvclock-0.8b4/src/Makefile.in 2009-01-03 18:02:54.000000000 +0100 @@ -1,15 +1,16 @@ CC=@CC@ INSTALL=@INSTALL@ -SOURCES=nvclock.c +nvclock_SOURCES=nvclock.c +smartdimmer_SOURCES=smartdimmer.c SUBDIRS=backend nvcontrol gtk qt HAVE_NVCONTROL=@HAVE_NVCONTROL@ libbackend=./backend/libbackend.a libnvcontrol=./nvcontrol/libnvcontrol.a -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@bindir@ +prefix=$(DESTDIR)@prefix@ +exec_prefix=$(DESTDIR)@exec_prefix@ +bindir=$(DESTDIR)@bindir@ ifeq ($(HAVE_NVCONTROL), yes) DEPS=$(libbackend) $(libnvcontrol) @@ -26,16 +27,20 @@ distclean install install-app install-recursive -all: all-recursive nvclock +all: all-recursive nvclock smartdimmer nvclock: $(DEPS) $(LIB) nvclock.c - $(CC) -o nvclock $(SOURCES) $(INCLUDES) $(LIBS) + $(CC) -o nvclock $(nvclock_SOURCES) $(INCLUDES) $(LIBS) + +smartdimmer: $(DEPS) $(LIB) smartdimmer.c + $(CC) -o smartdimmer $(smartdimmer_SOURCES) $(INCLUDES) $(LIBS) clean: clean-recursive clean-app clean-app: rm -f nvclock *.exe + rm -f smartdimmer distclean: distclean-recursive clean-app @@ -45,12 +50,13 @@ install: install-recursive install-app install-app: mkdir -p $(bindir) - $(INSTALL) -c nvclock $(bindir)/nvclock + $(INSTALL) -c nvclock $(DESTDIR)$(bindir)/nvclock + $(INSTALL) -c smartdimmer $(DESTDIR)$(bindir)/smartdimmer uninstall: uninstall-recursive uninstall-app uninstall-app: - rm -f $(bindir)/nvclock + rm -f $(bindir)/smartdimmer # Walk through the sub directories and do what is requested diff -Nru nvclock-0.8b3/src/nvclock.c nvclock-0.8b4/src/nvclock.c --- nvclock-0.8b3/src/nvclock.c 2008-01-04 18:32:57.000000000 +0100 +++ nvclock-0.8b4/src/nvclock.c 2009-01-04 11:54:28.000000000 +0100 @@ -61,7 +61,7 @@ int usage() { - printf("NVClock v0.8 (Beta3)\n\n"); + printf("NVClock v0.8 (Beta4)\n\n"); printf("Using NVClock you can overclock your Nvidia videocard under Linux and FreeBSD.\nUse this program at your own risk, because it can damage your system!\n\n"); printf("Usage: ./nvclock [options]\n\n"); printf("Overclock options:\n"); @@ -78,7 +78,7 @@ printf(" -F --fanspeed speed\t\tAdjust the fanspeed; speed is a value between 10 and 100, a delta +10/-10 or 'auto'\n"); printf(" -P --punit mask\t\tActivate extra pixel pipelines. (NV4X only)\n"); printf(" -Q --deviceid digit\t\tAdjust the last digit of the pci id.\n"); - printf(" -S --smartdimmer level\tAdjust brightness of the backlight; level is a value between 15 and 100 or a delta like +10/-10. (NV4X laptops only for now)\n"); + printf(" -S --smartdimmer level\tAdjust brightness of the backlight; level is a value between 15 and 100 or a delta like +10/-10.\n"); printf(" -T --temperature\t\tShow the GPU temperatures.\n"); printf(" -V --vunit mask\t\tActivate extra vertex pipelines. (NV4X only)\n"); printf(" -i --info\t\t\tShow detailed card info.\n"); @@ -999,7 +999,7 @@ nv_card->set_i2c_fanspeed_pwm(nv_card->sensor, dutycycle); /* It takes a short time for the fanspeed to change */ - usleep(100); + usleep(10000); printf("Fanspeed: %d RPM\n", nv_card->get_i2c_fanspeed_rpm(nv_card->sensor)); printf("New PWM duty cycle: %.1f\n", nv_card->get_i2c_fanspeed_pwm(nv_card->sensor)); } @@ -1034,7 +1034,7 @@ if(!(nv_card->caps & SMARTDIMMER)) { fprintf(stderr, "Error!\n"); - fprintf(stderr, "Smartdimmer is only supported on certain laptops using a Geforce 6200/7x00Go. If you want support on your laptop contact the author.\n"); + fprintf(stderr, "Smartdimmer is only supported on certain (HP/Samsung/Sony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author.\n"); return 0; } @@ -1061,6 +1061,7 @@ nv_card->set_smartdimmer(brightness); printf("New Smartdimmer level: %d%%\n", nv_card->get_smartdimmer()); free(smartdimmer); + return 0; } if(punit_opt && (nv_card->caps & PIPELINE_MODDING) && force_opt) @@ -1179,6 +1180,18 @@ printf("=> GPU temperature: %dC\n", nv_card->get_gpu_temp(nv_card->sensor)); if(nv_card->caps & (BOARD_TEMP_MONITORING)) printf("=> Board temperature: %dC\n", nv_card->get_board_temp(nv_card->sensor)); + +#ifdef HAVE_NVCONTROL + /* Some NV-CONTROL debugging code useful for calibration */ + if(nv_card->debug && nvclock.dpy) + { + int gpu_temp, board_temp; + if(NVGetAttribute(nvclock.dpy, 0, 0, NV_GPU_TEMPERATURE, &gpu_temp)) + printf("=> GPU temperature according to NV-CONTROL: %d\n", gpu_temp); + if(NVGetAttribute(nvclock.dpy, 0, 0, NV_AMBIENT_TEMPERATURE, &board_temp)) + printf("=> Board temperature according to NV-CONTROL: %d\n", board_temp); + } +#endif } else fprintf(stderr, "Error: temperature monitoring isn't supported on your videocard.\n"); @@ -1388,6 +1401,12 @@ if(!backend_opt && nv_card->caps & COOLBITS_OVERCLOCKING) nv_card->set_state(STATE_BOTH); + if((nv_card->state == STATE_LOWLEVEL) && (nv_card->arch & NV5X)) + { + fprintf(stderr, "Error: NVClock doesn't offer lowlevel overclocking on NV50/G8x/G9x/GT200 hardware (yet).\nIf you want to overclock your card using the Nvidia drivers instead add the line:\n Option \"Coolbits\" \"1\" to the screen or device section in your xorg.conf and then try NVClock again.\n"); + return 0; + } + if(reset_opt) { if(nv_card->gpu == MOBILE && !force_opt) diff -Nru nvclock-0.8b3/src/nvcontrol/CVS/Entries nvclock-0.8b4/src/nvcontrol/CVS/Entries --- nvclock-0.8b3/src/nvcontrol/CVS/Entries 2008-01-03 21:08:45.000000000 +0100 +++ nvclock-0.8b4/src/nvcontrol/CVS/Entries 2007-12-30 15:13:15.000000000 +0100 @@ -1,6 +1,6 @@ /Makefile.in/1.3/Fri Dec 9 19:46:05 2005// /libnvcontrol.c/1.3/Tue Jul 5 13:36:58 2005// -/nvcontrol.h/1.5/Tue Jul 11 18:18:55 2006// -/libnvcontrol.h/1.11/Thu Jan 3 20:08:45 2008// -/nvcontrol.c/1.12/Thu Jan 3 20:08:45 2008// +/nvcontrol.h/1.5/Sat Jul 15 09:47:09 2006// +/libnvcontrol.h/1.11/Sun Dec 30 14:12:34 2007// +/nvcontrol.c/1.12/Sun Dec 30 14:12:43 2007// D diff -Nru nvclock-0.8b3/src/qt/CVS/Entries nvclock-0.8b4/src/qt/CVS/Entries --- nvclock-0.8b3/src/qt/CVS/Entries 2006-08-20 19:56:16.000000000 +0200 +++ nvclock-0.8b4/src/qt/CVS/Entries 2008-05-11 12:25:46.000000000 +0200 @@ -1,5 +1,4 @@ /.cvsignore/1.1/Mon Sep 15 16:38:48 2003// -/Makefile.in/1.6/Fri Sep 2 08:36:32 2005// /links.xpm/1.1/Mon Sep 15 16:34:51 2003// /main.cpp/1.4/Sat Jan 7 21:26:11 2006// /nv.xpm/1.1/Mon Sep 15 15:40:05 2003// @@ -9,5 +8,6 @@ /qt_xfree.cpp/1.2/Mon Apr 4 16:16:36 2005// /qt_xfree.h/1.1/Tue Dec 28 21:41:32 2004// /x.xpm/1.1/Tue Dec 28 21:41:32 2004// -/qt_nvclock.cpp/1.10/Sun Aug 20 17:56:16 2006// +/qt_nvclock.cpp/1.10/Fri Jul 28 19:27:48 2006// +/Makefile.in/1.7/Sun May 11 10:25:46 2008// D diff -Nru nvclock-0.8b3/src/qt/Makefile.in nvclock-0.8b4/src/qt/Makefile.in --- nvclock-0.8b3/src/qt/Makefile.in 2005-09-02 10:36:32.000000000 +0200 +++ nvclock-0.8b4/src/qt/Makefile.in 2008-05-11 12:25:46.000000000 +0200 @@ -8,9 +8,9 @@ HAVE_QT=@HAVE_QT@ libbackend=../backend/libbackend.a -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@bindir@ +prefix=$(DESTDIR)@prefix@ +exec_prefix=$(DESTDIR)@exec_prefix@ +bindir=$(DESTDIR)@bindir@ ifeq ($(HAVE_QT), yes) PROGRAM=nvclock_qt diff -Nru nvclock-0.8b3/src/qt/qt_nvclock.moc.cpp nvclock-0.8b4/src/qt/qt_nvclock.moc.cpp --- nvclock-0.8b3/src/qt/qt_nvclock.moc.cpp 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/src/qt/qt_nvclock.moc.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,111 +0,0 @@ -/**************************************************************************** -** CTabNVidia meta object code from reading C++ file 'qt_nvclock.h' -** -** Created: Wed Sep 21 20:00:36 2005 -** by: The Qt MOC ($Id: qt/moc_yacc.cpp 3.3.5 edited Sep 2 14:41 $) -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#undef QT_NO_COMPAT -#include "qt_nvclock.h" -#include -#include - -#include -#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26) -#error "This file was generated using the moc from 3.3.5. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -const char *CTabNVidia::className() const -{ - return "CTabNVidia"; -} - -QMetaObject *CTabNVidia::metaObj = 0; -static QMetaObjectCleanUp cleanUp_CTabNVidia( "CTabNVidia", &CTabNVidia::staticMetaObject ); - -#ifndef QT_NO_TRANSLATION -QString CTabNVidia::tr( const char *s, const char *c ) -{ - if ( qApp ) - return qApp->translate( "CTabNVidia", s, c, QApplication::DefaultCodec ); - else - return QString::fromLatin1( s ); -} -#ifndef QT_NO_TRANSLATION_UTF8 -QString CTabNVidia::trUtf8( const char *s, const char *c ) -{ - if ( qApp ) - return qApp->translate( "CTabNVidia", s, c, QApplication::UnicodeUTF8 ); - else - return QString::fromUtf8( s ); -} -#endif // QT_NO_TRANSLATION_UTF8 - -#endif // QT_NO_TRANSLATION - -QMetaObject* CTabNVidia::staticMetaObject() -{ - if ( metaObj ) - return metaObj; - QMetaObject* parentObject = QWidget::staticMetaObject(); - static const QUParameter param_slot_0[] = { - { 0, &static_QUType_int, 0, QUParameter::Out } - }; - static const QUMethod slot_0 = {"slotGo", 1, param_slot_0 }; - static const QUParameter param_slot_1[] = { - { 0, &static_QUType_int, 0, QUParameter::Out }, - { "id", &static_QUType_int, 0, QUParameter::In } - }; - static const QUMethod slot_1 = {"slotLoad", 2, param_slot_1 }; - static const QMetaData slot_tbl[] = { - { "slotGo()", &slot_0, QMetaData::Public }, - { "slotLoad(int)", &slot_1, QMetaData::Public } - }; - metaObj = QMetaObject::new_metaobject( - "CTabNVidia", parentObject, - slot_tbl, 2, - 0, 0, -#ifndef QT_NO_PROPERTIES - 0, 0, - 0, 0, -#endif // QT_NO_PROPERTIES - 0, 0 ); - cleanUp_CTabNVidia.setMetaObject( metaObj ); - return metaObj; -} - -void* CTabNVidia::qt_cast( const char* clname ) -{ - if ( !qstrcmp( clname, "CTabNVidia" ) ) - return this; - return QWidget::qt_cast( clname ); -} - -bool CTabNVidia::qt_invoke( int _id, QUObject* _o ) -{ - switch ( _id - staticMetaObject()->slotOffset() ) { - case 0: static_QUType_int.set(_o,slotGo()); break; - case 1: static_QUType_int.set(_o,slotLoad((int)static_QUType_int.get(_o+1))); break; - default: - return QWidget::qt_invoke( _id, _o ); - } - return TRUE; -} - -bool CTabNVidia::qt_emit( int _id, QUObject* _o ) -{ - return QWidget::qt_emit(_id,_o); -} -#ifndef QT_NO_PROPERTIES - -bool CTabNVidia::qt_property( int id, int f, QVariant* v) -{ - return QWidget::qt_property( id, f, v); -} - -bool CTabNVidia::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } -#endif // QT_NO_PROPERTIES diff -Nru nvclock-0.8b3/src/qt/qt_xfree.moc.cpp nvclock-0.8b4/src/qt/qt_xfree.moc.cpp --- nvclock-0.8b3/src/qt/qt_xfree.moc.cpp 2009-02-08 15:26:20.000000000 +0100 +++ nvclock-0.8b4/src/qt/qt_xfree.moc.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,101 +0,0 @@ -/**************************************************************************** -** CTabXFree meta object code from reading C++ file 'qt_xfree.h' -** -** Created: Wed Sep 21 20:00:43 2005 -** by: The Qt MOC ($Id: qt/moc_yacc.cpp 3.3.5 edited Sep 2 14:41 $) -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#undef QT_NO_COMPAT -#include "qt_xfree.h" -#include -#include - -#include -#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26) -#error "This file was generated using the moc from 3.3.5. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -const char *CTabXFree::className() const -{ - return "CTabXFree"; -} - -QMetaObject *CTabXFree::metaObj = 0; -static QMetaObjectCleanUp cleanUp_CTabXFree( "CTabXFree", &CTabXFree::staticMetaObject ); - -#ifndef QT_NO_TRANSLATION -QString CTabXFree::tr( const char *s, const char *c ) -{ - if ( qApp ) - return qApp->translate( "CTabXFree", s, c, QApplication::DefaultCodec ); - else - return QString::fromLatin1( s ); -} -#ifndef QT_NO_TRANSLATION_UTF8 -QString CTabXFree::trUtf8( const char *s, const char *c ) -{ - if ( qApp ) - return qApp->translate( "CTabXFree", s, c, QApplication::UnicodeUTF8 ); - else - return QString::fromUtf8( s ); -} -#endif // QT_NO_TRANSLATION_UTF8 - -#endif // QT_NO_TRANSLATION - -QMetaObject* CTabXFree::staticMetaObject() -{ - if ( metaObj ) - return metaObj; - QMetaObject* parentObject = QWidget::staticMetaObject(); - static const QUMethod slot_0 = {"slotGenerate", 0, 0 }; - static const QMetaData slot_tbl[] = { - { "slotGenerate()", &slot_0, QMetaData::Protected } - }; - metaObj = QMetaObject::new_metaobject( - "CTabXFree", parentObject, - slot_tbl, 1, - 0, 0, -#ifndef QT_NO_PROPERTIES - 0, 0, - 0, 0, -#endif // QT_NO_PROPERTIES - 0, 0 ); - cleanUp_CTabXFree.setMetaObject( metaObj ); - return metaObj; -} - -void* CTabXFree::qt_cast( const char* clname ) -{ - if ( !qstrcmp( clname, "CTabXFree" ) ) - return this; - return QWidget::qt_cast( clname ); -} - -bool CTabXFree::qt_invoke( int _id, QUObject* _o ) -{ - switch ( _id - staticMetaObject()->slotOffset() ) { - case 0: slotGenerate(); break; - default: - return QWidget::qt_invoke( _id, _o ); - } - return TRUE; -} - -bool CTabXFree::qt_emit( int _id, QUObject* _o ) -{ - return QWidget::qt_emit(_id,_o); -} -#ifndef QT_NO_PROPERTIES - -bool CTabXFree::qt_property( int id, int f, QVariant* v) -{ - return QWidget::qt_property( id, f, v); -} - -bool CTabXFree::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } -#endif // QT_NO_PROPERTIES diff -Nru nvclock-0.8b3/src/smartdimmer.c nvclock-0.8b4/src/smartdimmer.c --- nvclock-0.8b3/src/smartdimmer.c 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/src/smartdimmer.c 2009-01-03 18:11:22.000000000 +0100 @@ -0,0 +1,161 @@ +/* NVClock Smartdimmer 0.8 + * + * Originally SmartDimmer was a friendly fork of NVClock to allow adjustment + * of backlight level on some Sony laptops. Initially there was no code for this + * in NVClock. When NVClock added the code SmartDimmer became obsolete but people + * kept using SmartDimmer while it didn't get updated. For that reason SmartDimmer + * is now part of NVClock. + * + * Copyright(C) 2001-2008 Roderick Colenbrander + * + * site: http://NVClock.sourceforge.net + * + * 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 + */ + +/****************************************************************************** + * smartdimmer.c * + * * + * SmartDimmer adjustment tool. * + * Thanks to Thunderbird and sk1p from #nvclock @ freenode for their help :) * + * * + * July 23, 2005 * + * Erik Waling * + ******************************************************************************/ + +#include +#include +#include +#include "nvclock.h" + +/* for command line arguments */ +#define SET_BIT 1 +#define GET_BIT 2 +#define INC_BIT 4 +#define DEC_BIT 8 + +static struct option long_opts[] = { + { "get" , no_argument , 0, 'g' }, + { "set" , required_argument, 0, 's' }, + { "increase", no_argument , 0, 'i' }, + { "decrease", no_argument , 0, 'd' }, + { "help" , no_argument , 0, 'h' }, + { 0 , 0 , 0, 0 } +}; + +void sd_usage(char *argv0) +{ + printf("NVClock SmartDimmer adjustment tool version 0.8b4.\n\n"); + printf("Usage: %s [OPTION]...\n\n", argv0); + printf("Options:\n"); + printf("\t-g --get\t\tQuery brightness level.\n"); + printf("\t-s --set \tSet brightness level (15-100)\n"); + printf("\t-i --increase\t\tIncrease brightness with one level.\n"); + printf("\t-d --decrease\t\tDecrease brightness with one level.\n"); + printf("\t-h --help\t\tPrints this help text.\n\n"); + +} + +int sd_init() +{ + if (!init_nvclock()) + return -1; + + if (!set_card(0)) + return -2; + + return 0; +} + +int main(int argc, char *argv[]) +{ + int optind = 0, options = 0, setvalue = 0; + int c; + + if (argc < 2) + { + sd_usage(argv[0]); + return 0; + } + + while ((c = getopt_long(argc, argv, "gs:idh", long_opts, &optind)) != -1) + { + switch (c) + { + case '?': + fprintf(stderr, "\nTry `%s --help' for help.\n", argv[0]); + return 1; + case 'h': + sd_usage(argv[0]); + return 0; + case 'g': + options |= GET_BIT; + break; + case 's': + if (isdigit(*optarg)) { + setvalue = atoi(optarg); + options |= SET_BIT; + } else { + fprintf(stderr, "Illegal option value (-s): " + "Value has to be a non-negative number.\n"); + return 1; + } + break; + case 'i': + options |= INC_BIT; + break; + case 'd': + options |= DEC_BIT; + break; + } + } + + if (!options) + { + sd_usage(argv[0]); + return 1; + } + + switch (sd_init()) + { + case -1: + fprintf(stderr, "init_nvclock() failed!\n"); + return 2; + case -2: + fprintf(stderr, "set_card() failed!\n"); + return 3; + } + + if(!(nv_card->caps & SMARTDIMMER)) + { + fprintf(stderr, "Error!\n"); + fprintf(stderr, "Smartdimmer is only supported on certain (HP/SamsungSony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author.\n"); + return 0; + } + + if (options & INC_BIT) + nv_card->set_smartdimmer(nv_card->get_smartdimmer() + 1); + + if (options & DEC_BIT) + nv_card->set_smartdimmer(nv_card->get_smartdimmer() - 1); + + if (options & SET_BIT) + nv_card->set_smartdimmer(setvalue); + + if (options & GET_BIT) + printf("SmartDimmer level: %d\n", nv_card->get_smartdimmer()); + + return 0; +} diff -Nru nvclock-0.8b3/stamp-h nvclock-0.8b4/stamp-h --- nvclock-0.8b3/stamp-h 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4/stamp-h 2007-08-29 13:32:47.000000000 +0200 @@ -0,0 +1 @@ +timestamp