Merge lp:~jmccrohan/lcd4linux/debian into lp:~siretart/lcd4linux/debian

Proposed by Jonathan McCrohan
Status: Merged
Merged at revision: 764
Proposed branch: lp:~jmccrohan/lcd4linux/debian
Merge into: lp:~siretart/lcd4linux/debian
Diff against target: 2671 lines (+842/-335)
25 files modified
aclocal.m4 (+223/-64)
configure (+165/-64)
configure.in (+8/-4)
debian/NEWS (+10/-0)
debian/changelog (+13/-0)
debian/control (+1/-1)
debian/rules (+2/-0)
drivers.m4 (+1/-4)
drv_D4D.c (+295/-153)
drv_EFN.c (+1/-1)
drv_generic_parport.c (+56/-25)
drv_generic_text.h (+2/-1)
lcd4linux_i2c.h (+2/-1)
plugin_huawei.c (+1/-1)
plugin_pop3.c (+2/-2)
plugins.m4 (+42/-5)
svn_version.h (+1/-1)
timer.h (+2/-1)
widget_bar.h (+3/-1)
widget_gpo.h (+2/-1)
widget_icon.h (+2/-1)
widget_image.h (+2/-1)
widget_keypad.h (+2/-1)
widget_text.h (+2/-1)
widget_timer.h (+2/-1)
To merge this branch: bzr merge lp:~jmccrohan/lcd4linux/debian
Reviewer Review Type Date Requested Status
Reinhard Tartler Approve
Review via email: mp+86868@code.launchpad.net
To post a comment you must log in.
lp:~jmccrohan/lcd4linux/debian updated
767. By Jonathan McCrohan

   - raw port I/O in generic_parport driver disabled. Fixes FTBFS
     issues on mipsel, powerpc, s390x and sparc.
* debian/NEWS added to announce change in generic_parport driver

Revision history for this message
Reinhard Tartler (siretart) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'aclocal.m4'
2--- aclocal.m4 2011-08-26 07:26:25 +0000
3+++ aclocal.m4 2011-12-27 00:36:23 +0000
4@@ -1348,8 +1348,8 @@
5 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
6 #
7 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
8-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
9-# Inc.
10+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
11+# Foundation, Inc.
12 # Written by Gordon Matzigkeit, 1996
13 #
14 # This file is free software; the Free Software Foundation gives
15@@ -1358,8 +1358,8 @@
16
17 m4_define([_LT_COPYING], [dnl
18 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
19-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
20-# Inc.
21+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
22+# Foundation, Inc.
23 # Written by Gordon Matzigkeit, 1996
24 #
25 # This file is part of GNU Libtool.
26@@ -1493,6 +1493,8 @@
27 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
28 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
29
30+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
31+dnl
32 _LT_DECL([], [host_alias], [0], [The host system])dnl
33 _LT_DECL([], [host], [0])dnl
34 _LT_DECL([], [host_os], [0])dnl
35@@ -1978,7 +1980,7 @@
36 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
37 configured by $[0], generated by m4_PACKAGE_STRING.
38
39-Copyright (C) 2010 Free Software Foundation, Inc.
40+Copyright (C) 2011 Free Software Foundation, Inc.
41 This config.lt script is free software; the Free Software Foundation
42 gives unlimited permision to copy, distribute and modify it."
43
44@@ -2142,6 +2144,7 @@
45 m4_case([$1],
46 [C], [_LT_LANG(C)],
47 [C++], [_LT_LANG(CXX)],
48+ [Go], [_LT_LANG(GO)],
49 [Java], [_LT_LANG(GCJ)],
50 [Fortran 77], [_LT_LANG(F77)],
51 [Fortran], [_LT_LANG(FC)],
52@@ -2163,6 +2166,29 @@
53 ])# _LT_LANG
54
55
56+m4_ifndef([AC_PROG_GO], [
57+# NOTE: This macro has been submitted for inclusion into #
58+# GNU Autoconf as AC_PROG_GO. When it is available in #
59+# a released version of Autoconf we should remove this #
60+# macro and use it instead. #
61+m4_defun([AC_PROG_GO],
62+[AC_LANG_PUSH(Go)dnl
63+AC_ARG_VAR([GOC], [Go compiler command])dnl
64+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
65+_AC_ARG_VAR_LDFLAGS()dnl
66+AC_CHECK_TOOL(GOC, gccgo)
67+if test -z "$GOC"; then
68+ if test -n "$ac_tool_prefix"; then
69+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
70+ fi
71+fi
72+if test -z "$GOC"; then
73+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
74+fi
75+])#m4_defun
76+])#m4_ifndef
77+
78+
79 # _LT_LANG_DEFAULT_CONFIG
80 # -----------------------
81 m4_defun([_LT_LANG_DEFAULT_CONFIG],
82@@ -2193,6 +2219,10 @@
83 m4_ifdef([LT_PROG_GCJ],
84 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
85
86+AC_PROVIDE_IFELSE([AC_PROG_GO],
87+ [LT_LANG(GO)],
88+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
89+
90 AC_PROVIDE_IFELSE([LT_PROG_RC],
91 [LT_LANG(RC)],
92 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
93@@ -2295,7 +2325,13 @@
94 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
95 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
96 _lt_result=$?
97- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
98+ # If there is a non-empty error log, and "single_module"
99+ # appears in it, assume the flag caused a linker warning
100+ if test -s conftest.err && $GREP single_module conftest.err; then
101+ cat conftest.err >&AS_MESSAGE_LOG_FD
102+ # Otherwise, if the output was created with a 0 exit code from
103+ # the compiler, it worked.
104+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
105 lt_cv_apple_cc_single_mod=yes
106 else
107 cat conftest.err >&AS_MESSAGE_LOG_FD
108@@ -2303,6 +2339,7 @@
109 rm -rf libconftest.dylib*
110 rm -f conftest.*
111 fi])
112+
113 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
114 [lt_cv_ld_exported_symbols_list],
115 [lt_cv_ld_exported_symbols_list=no
116@@ -2314,6 +2351,7 @@
117 [lt_cv_ld_exported_symbols_list=no])
118 LDFLAGS="$save_LDFLAGS"
119 ])
120+
121 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
122 [lt_cv_ld_force_load=no
123 cat > conftest.c << _LT_EOF
124@@ -2331,7 +2369,9 @@
125 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
126 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
127 _lt_result=$?
128- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
129+ if test -s conftest.err && $GREP force_load conftest.err; then
130+ cat conftest.err >&AS_MESSAGE_LOG_FD
131+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
132 lt_cv_ld_force_load=yes
133 else
134 cat conftest.err >&AS_MESSAGE_LOG_FD
135@@ -2376,8 +2416,8 @@
136 ])
137
138
139-# _LT_DARWIN_LINKER_FEATURES
140-# --------------------------
141+# _LT_DARWIN_LINKER_FEATURES([TAG])
142+# ---------------------------------
143 # Checks for linker and compiler features on darwin
144 m4_defun([_LT_DARWIN_LINKER_FEATURES],
145 [
146@@ -2388,6 +2428,8 @@
147 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
148 if test "$lt_cv_ld_force_load" = "yes"; then
149 _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
150+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
151+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
152 else
153 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
154 fi
155@@ -2671,14 +2713,27 @@
156 CFLAGS="$SAVE_CFLAGS"
157 fi
158 ;;
159-sparc*-*solaris*)
160+*-*solaris*)
161 # Find out which ABI we are using.
162 echo 'int i;' > conftest.$ac_ext
163 if AC_TRY_EVAL(ac_compile); then
164 case `/usr/bin/file conftest.o` in
165 *64-bit*)
166 case $lt_cv_prog_gnu_ld in
167- yes*) LD="${LD-ld} -m elf64_sparc" ;;
168+ yes*)
169+ case $host in
170+ i?86-*-solaris*)
171+ LD="${LD-ld} -m elf_x86_64"
172+ ;;
173+ sparc*-*-solaris*)
174+ LD="${LD-ld} -m elf64_sparc"
175+ ;;
176+ esac
177+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
178+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
179+ LD="${LD-ld}_sol2"
180+ fi
181+ ;;
182 *)
183 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
184 LD="${LD-ld} -64"
185@@ -2755,13 +2810,13 @@
186 if test -n "$RANLIB"; then
187 case $host_os in
188 openbsd*)
189- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
190+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
191 ;;
192 *)
193- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
194+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
195 ;;
196 esac
197- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
198+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
199 fi
200
201 case $host_os in
202@@ -2941,6 +2996,11 @@
203 lt_cv_sys_max_cmd_len=196608
204 ;;
205
206+ os2*)
207+ # The test takes a long time on OS/2.
208+ lt_cv_sys_max_cmd_len=8192
209+ ;;
210+
211 osf*)
212 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
213 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
214@@ -2980,7 +3040,7 @@
215 # If test is not a shell built-in, we'll probably end up computing a
216 # maximum length that is only half of the actual maximum length, but
217 # we can't tell.
218- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
219+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
220 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
221 test $i != 17 # 1/2 MB should be enough
222 do
223@@ -3526,7 +3586,7 @@
224
225 case $host_os in
226 aix3*)
227- version_type=linux
228+ version_type=linux # correct to gnu/linux during the next big refactor
229 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
230 shlibpath_var=LIBPATH
231
232@@ -3535,7 +3595,7 @@
233 ;;
234
235 aix[[4-9]]*)
236- version_type=linux
237+ version_type=linux # correct to gnu/linux during the next big refactor
238 need_lib_prefix=no
239 need_version=no
240 hardcode_into_libs=yes
241@@ -3600,7 +3660,7 @@
242 ;;
243
244 bsdi[[45]]*)
245- version_type=linux
246+ version_type=linux # correct to gnu/linux during the next big refactor
247 need_version=no
248 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
249 soname_spec='${libname}${release}${shared_ext}$major'
250@@ -3739,7 +3799,7 @@
251 ;;
252
253 dgux*)
254- version_type=linux
255+ version_type=linux # correct to gnu/linux during the next big refactor
256 need_lib_prefix=no
257 need_version=no
258 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
259@@ -3747,10 +3807,6 @@
260 shlibpath_var=LD_LIBRARY_PATH
261 ;;
262
263-freebsd1*)
264- dynamic_linker=no
265- ;;
266-
267 freebsd* | dragonfly*)
268 # DragonFly does not have aout. When/if they implement a new
269 # versioning mechanism, adjust this.
270@@ -3758,7 +3814,7 @@
271 objformat=`/usr/bin/objformat`
272 else
273 case $host_os in
274- freebsd[[123]]*) objformat=aout ;;
275+ freebsd[[23]].*) objformat=aout ;;
276 *) objformat=elf ;;
277 esac
278 fi
279@@ -3776,7 +3832,7 @@
280 esac
281 shlibpath_var=LD_LIBRARY_PATH
282 case $host_os in
283- freebsd2*)
284+ freebsd2.*)
285 shlibpath_overrides_runpath=yes
286 ;;
287 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
288@@ -3796,7 +3852,7 @@
289 ;;
290
291 gnu*)
292- version_type=linux
293+ version_type=linux # correct to gnu/linux during the next big refactor
294 need_lib_prefix=no
295 need_version=no
296 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
297@@ -3807,7 +3863,7 @@
298 ;;
299
300 haiku*)
301- version_type=linux
302+ version_type=linux # correct to gnu/linux during the next big refactor
303 need_lib_prefix=no
304 need_version=no
305 dynamic_linker="$host_os runtime_loader"
306@@ -3868,7 +3924,7 @@
307 ;;
308
309 interix[[3-9]]*)
310- version_type=linux
311+ version_type=linux # correct to gnu/linux during the next big refactor
312 need_lib_prefix=no
313 need_version=no
314 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
315@@ -3884,7 +3940,7 @@
316 nonstopux*) version_type=nonstopux ;;
317 *)
318 if test "$lt_cv_prog_gnu_ld" = yes; then
319- version_type=linux
320+ version_type=linux # correct to gnu/linux during the next big refactor
321 else
322 version_type=irix
323 fi ;;
324@@ -3921,9 +3977,9 @@
325 dynamic_linker=no
326 ;;
327
328-# This must be Linux ELF.
329+# This must be glibc/ELF.
330 linux* | k*bsd*-gnu | kopensolaris*-gnu)
331- version_type=linux
332+ version_type=linux # correct to gnu/linux during the next big refactor
333 need_lib_prefix=no
334 need_version=no
335 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
336@@ -3998,7 +4054,7 @@
337 ;;
338
339 newsos6)
340- version_type=linux
341+ version_type=linux # correct to gnu/linux during the next big refactor
342 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
343 shlibpath_var=LD_LIBRARY_PATH
344 shlibpath_overrides_runpath=yes
345@@ -4067,7 +4123,7 @@
346 ;;
347
348 solaris*)
349- version_type=linux
350+ version_type=linux # correct to gnu/linux during the next big refactor
351 need_lib_prefix=no
352 need_version=no
353 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
354@@ -4092,7 +4148,7 @@
355 ;;
356
357 sysv4 | sysv4.3*)
358- version_type=linux
359+ version_type=linux # correct to gnu/linux during the next big refactor
360 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
361 soname_spec='${libname}${release}${shared_ext}$major'
362 shlibpath_var=LD_LIBRARY_PATH
363@@ -4116,7 +4172,7 @@
364
365 sysv4*MP*)
366 if test -d /usr/nec ;then
367- version_type=linux
368+ version_type=linux # correct to gnu/linux during the next big refactor
369 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
370 soname_spec='$libname${shared_ext}.$major'
371 shlibpath_var=LD_LIBRARY_PATH
372@@ -4147,7 +4203,7 @@
373
374 tpf*)
375 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
376- version_type=linux
377+ version_type=linux # correct to gnu/linux during the next big refactor
378 need_lib_prefix=no
379 need_version=no
380 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
381@@ -4157,7 +4213,7 @@
382 ;;
383
384 uts4*)
385- version_type=linux
386+ version_type=linux # correct to gnu/linux during the next big refactor
387 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
388 soname_spec='${libname}${release}${shared_ext}$major'
389 shlibpath_var=LD_LIBRARY_PATH
390@@ -4579,7 +4635,7 @@
391 lt_cv_deplibs_check_method=pass_all
392 ;;
393
394-# This must be Linux ELF.
395+# This must be glibc/ELF.
396 linux* | k*bsd*-gnu | kopensolaris*-gnu)
397 lt_cv_deplibs_check_method=pass_all
398 ;;
399@@ -4999,6 +5055,7 @@
400 # which start with @ or ?.
401 lt_cv_sys_global_symbol_pipe="$AWK ['"\
402 " {last_section=section; section=\$ 3};"\
403+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
404 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
405 " \$ 0!~/External *\|/{next};"\
406 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
407@@ -5583,7 +5640,9 @@
408 case $cc_basename in
409 nvcc*) # Cuda Compiler Driver 2.2
410 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
411- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
412+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
413+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
414+ fi
415 ;;
416 esac
417 else
418@@ -5675,18 +5734,33 @@
419 ;;
420 *)
421 case `$CC -V 2>&1 | sed 5q` in
422- *Sun\ F* | *Sun*Fortran*)
423+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
424 # Sun Fortran 8.3 passes all unrecognized flags to the linker
425 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
426 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
427 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
428 ;;
429+ *Sun\ F* | *Sun*Fortran*)
430+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
431+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
432+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
433+ ;;
434 *Sun\ C*)
435 # Sun C 5.9
436 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
437 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
438 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
439 ;;
440+ *Intel*\ [[CF]]*Compiler*)
441+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
442+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
443+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
444+ ;;
445+ *Portland\ Group*)
446+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
447+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
448+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
449+ ;;
450 esac
451 ;;
452 esac
453@@ -5846,7 +5920,9 @@
454 ;;
455 cygwin* | mingw* | cegcc*)
456 case $cc_basename in
457- cl*) ;;
458+ cl*)
459+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
460+ ;;
461 *)
462 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
463 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
464@@ -5874,7 +5950,6 @@
465 _LT_TAGVAR(hardcode_direct, $1)=no
466 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
467 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
468- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
469 _LT_TAGVAR(hardcode_libdir_separator, $1)=
470 _LT_TAGVAR(hardcode_minus_L, $1)=no
471 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
472@@ -6128,8 +6203,7 @@
473 xlf* | bgf* | bgxlf* | mpixlf*)
474 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
475 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
476- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
477- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
478+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
479 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
480 if test "x$supports_anon_versioning" = xyes; then
481 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
482@@ -6425,6 +6499,7 @@
483 # The linker will not automatically build a static lib if we build a DLL.
484 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
485 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
486+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
487 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
488 # Don't use ranlib
489 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
490@@ -6471,10 +6546,6 @@
491 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
492 ;;
493
494- freebsd1*)
495- _LT_TAGVAR(ld_shlibs, $1)=no
496- ;;
497-
498 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
499 # support. Future versions do this automatically, but an explicit c++rt0.o
500 # does not break anything, and helps significantly (at the cost of a little
501@@ -6487,7 +6558,7 @@
502 ;;
503
504 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
505- freebsd2*)
506+ freebsd2.*)
507 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
508 _LT_TAGVAR(hardcode_direct, $1)=yes
509 _LT_TAGVAR(hardcode_minus_L, $1)=yes
510@@ -6526,7 +6597,6 @@
511 fi
512 if test "$with_gnu_ld" = no; then
513 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
514- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
515 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
516 _LT_TAGVAR(hardcode_direct, $1)=yes
517 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
518@@ -6968,9 +7038,6 @@
519 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
520 [Flag to hardcode $libdir into a binary during linking.
521 This must work even if $libdir does not exist])
522-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
523- [[If ld is used when linking, flag to hardcode $libdir into a binary
524- during linking. This must work even if $libdir does not exist]])
525 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
526 [Whether we need a single "-rpath" flag with a separated argument])
527 _LT_TAGDECL([], [hardcode_direct], [0],
528@@ -7124,7 +7191,6 @@
529 _LT_TAGVAR(hardcode_direct, $1)=no
530 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
531 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
532-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
533 _LT_TAGVAR(hardcode_libdir_separator, $1)=
534 _LT_TAGVAR(hardcode_minus_L, $1)=no
535 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
536@@ -7494,7 +7560,7 @@
537 esac
538 ;;
539
540- freebsd[[12]]*)
541+ freebsd2.*)
542 # C++ shared libraries reported to be fairly broken before
543 # switch to ELF
544 _LT_TAGVAR(ld_shlibs, $1)=no
545@@ -8255,12 +8321,18 @@
546 }
547 };
548 _LT_EOF
549+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
550+package foo
551+func foo() {
552+}
553+_LT_EOF
554 ])
555
556 _lt_libdeps_save_CFLAGS=$CFLAGS
557 case "$CC $CFLAGS " in #(
558 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
559 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
560+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
561 esac
562
563 dnl Parse the compiler output and extract the necessary
564@@ -8457,7 +8529,6 @@
565 _LT_TAGVAR(hardcode_direct, $1)=no
566 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
567 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
568-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
569 _LT_TAGVAR(hardcode_libdir_separator, $1)=
570 _LT_TAGVAR(hardcode_minus_L, $1)=no
571 _LT_TAGVAR(hardcode_automatic, $1)=no
572@@ -8590,7 +8661,6 @@
573 _LT_TAGVAR(hardcode_direct, $1)=no
574 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
575 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
576-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
577 _LT_TAGVAR(hardcode_libdir_separator, $1)=
578 _LT_TAGVAR(hardcode_minus_L, $1)=no
579 _LT_TAGVAR(hardcode_automatic, $1)=no
580@@ -8773,6 +8843,73 @@
581 ])# _LT_LANG_GCJ_CONFIG
582
583
584+# _LT_LANG_GO_CONFIG([TAG])
585+# --------------------------
586+# Ensure that the configuration variables for the GNU Go compiler
587+# are suitably defined. These variables are subsequently used by _LT_CONFIG
588+# to write the compiler configuration to `libtool'.
589+m4_defun([_LT_LANG_GO_CONFIG],
590+[AC_REQUIRE([LT_PROG_GO])dnl
591+AC_LANG_SAVE
592+
593+# Source file extension for Go test sources.
594+ac_ext=go
595+
596+# Object file extension for compiled Go test sources.
597+objext=o
598+_LT_TAGVAR(objext, $1)=$objext
599+
600+# Code to be used in simple compile tests
601+lt_simple_compile_test_code="package main; func main() { }"
602+
603+# Code to be used in simple link tests
604+lt_simple_link_test_code='package main; func main() { }'
605+
606+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
607+_LT_TAG_COMPILER
608+
609+# save warnings/boilerplate of simple test code
610+_LT_COMPILER_BOILERPLATE
611+_LT_LINKER_BOILERPLATE
612+
613+# Allow CC to be a program name with arguments.
614+lt_save_CC=$CC
615+lt_save_CFLAGS=$CFLAGS
616+lt_save_GCC=$GCC
617+GCC=yes
618+CC=${GOC-"gccgo"}
619+CFLAGS=$GOFLAGS
620+compiler=$CC
621+_LT_TAGVAR(compiler, $1)=$CC
622+_LT_TAGVAR(LD, $1)="$LD"
623+_LT_CC_BASENAME([$compiler])
624+
625+# Go did not exist at the time GCC didn't implicitly link libc in.
626+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
627+
628+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
629+_LT_TAGVAR(reload_flag, $1)=$reload_flag
630+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
631+
632+if test -n "$compiler"; then
633+ _LT_COMPILER_NO_RTTI($1)
634+ _LT_COMPILER_PIC($1)
635+ _LT_COMPILER_C_O($1)
636+ _LT_COMPILER_FILE_LOCKS($1)
637+ _LT_LINKER_SHLIBS($1)
638+ _LT_LINKER_HARDCODE_LIBPATH($1)
639+
640+ _LT_CONFIG($1)
641+fi
642+
643+AC_LANG_RESTORE
644+
645+GCC=$lt_save_GCC
646+CC=$lt_save_CC
647+CFLAGS=$lt_save_CFLAGS
648+])# _LT_LANG_GO_CONFIG
649+
650+
651 # _LT_LANG_RC_CONFIG([TAG])
652 # -------------------------
653 # Ensure that the configuration variables for the Windows resource compiler
654@@ -8842,6 +8979,13 @@
655 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
656
657
658+# LT_PROG_GO
659+# ----------
660+AC_DEFUN([LT_PROG_GO],
661+[AC_CHECK_TOOL(GOC, gccgo,)
662+])
663+
664+
665 # LT_PROG_RC
666 # ----------
667 AC_DEFUN([LT_PROG_RC],
668@@ -9506,9 +9650,24 @@
669 # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
670 m4_define([_LT_WITH_PIC],
671 [AC_ARG_WITH([pic],
672- [AS_HELP_STRING([--with-pic],
673+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
674 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
675- [pic_mode="$withval"],
676+ [lt_p=${PACKAGE-default}
677+ case $withval in
678+ yes|no) pic_mode=$withval ;;
679+ *)
680+ pic_mode=default
681+ # Look at the argument we got. We use all the common list separators.
682+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
683+ for lt_pkg in $withval; do
684+ IFS="$lt_save_ifs"
685+ if test "X$lt_pkg" = "X$lt_p"; then
686+ pic_mode=yes
687+ fi
688+ done
689+ IFS="$lt_save_ifs"
690+ ;;
691+ esac],
692 [pic_mode=default])
693
694 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
695@@ -9680,15 +9839,15 @@
696
697 # @configure_input@
698
699-# serial 3293 ltversion.m4
700+# serial 3337 ltversion.m4
701 # This file is part of GNU Libtool
702
703-m4_define([LT_PACKAGE_VERSION], [2.4])
704-m4_define([LT_PACKAGE_REVISION], [1.3293])
705+m4_define([LT_PACKAGE_VERSION], [2.4.2])
706+m4_define([LT_PACKAGE_REVISION], [1.3337])
707
708 AC_DEFUN([LTVERSION_VERSION],
709-[macro_version='2.4'
710-macro_revision='1.3293'
711+[macro_version='2.4.2'
712+macro_revision='1.3337'
713 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
714 _LT_DECL(, macro_revision, 0)
715 ])
716
717=== modified file 'configure'
718--- configure 2011-08-26 07:26:25 +0000
719+++ configure 2011-12-27 00:36:23 +0000
720@@ -761,6 +761,7 @@
721 with_ncurses
722 with_x
723 with_python
724+with_outb
725 with_drivers
726 with_plugins
727 with_gnu_ld
728@@ -1434,6 +1435,7 @@
729 --with-ncurses=dir Compile with ncurses/locate base dir
730 --with-x use the X Window System
731 --with-python enable python support [default=no]
732+ --with-outb enable raw port I/O support [default=no]
733 --with-drivers=<list> compile driver for displays in <list>,
734 drivers may be separated with commas,
735 'all' (default) compiles all available drivers,
736@@ -1456,7 +1458,7 @@
737 --with-gnu-ld assume the C compiler uses GNU ld default=no
738 --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
739 --without-libiconv-prefix don't search for libiconv in includedir and libdir
740- --with-pic try to use only PIC/non-PIC objects [default=use
741+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
742 both]
743 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
744 --with-sysroot=DIR Search for dependent libraries within DIR
745@@ -4696,7 +4698,7 @@
746 $as_echo_n "checking for ncurses version... " >&6; }
747 ncurses_version=unknown
748 cat > conftest.$ac_ext <<EOF
749-#line 4699 "configure"
750+#line 4701 "configure"
751 #include "confdefs.h"
752 #ifdef RENAMED_NCURSES
753 #include <curses.h>
754@@ -6191,7 +6193,19 @@
755 fi
756
757 # check for parport
758-#AC_CHECK_HEADERS(asm/io.h)
759+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if raw port I/O is wanted" >&5
760+$as_echo_n "checking if raw port I/O is wanted... " >&6; }
761+
762+# Check whether --with-outb was given.
763+if test "${with_outb+set}" = set; then :
764+ withval=$with_outb; { $as_echo "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
765+$as_echo "$withval" >&6; }
766+else
767+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
768+$as_echo "no" >&6; }
769+fi
770+
771+
772 for ac_header in asm/io.h linux/parport.h linux/ppdev.h
773 do :
774 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
775@@ -6815,7 +6829,6 @@
776
777 if test "$NEWHAVEN" = "yes"; then
778 TEXT="yes"
779- #SERIAL="yes"
780 I2C="yes"
781 DRIVERS="$DRIVERS drv_Newhaven.o"
782
783@@ -6847,9 +6860,7 @@
784 fi
785
786 if test "$PERTELIAN" = "yes"; then
787- # select either text or graphics mode
788 TEXT="yes"
789- # select bus: serial (including USB), parallel or i2c
790 SERIAL="yes"
791 DRIVERS="$DRIVERS drv_Pertelian.o"
792
793@@ -7307,6 +7318,47 @@
794 PLUGIN_WIRELESS="yes"
795 PLUGIN_XMMS="yes"
796 ;;
797+ none)
798+ PLUGIN_APM="no"
799+ PLUGIN_ASTERISK="no"
800+ PLUGIN_BUTTON_EXEC="no"
801+ PLUGIN_CPUINFO="no"
802+ PLUGIN_DBUS="no"
803+ PLUGIN_DISKSTATS="no"
804+ PLUGIN_DVB="no"
805+ PLUGIN_EXEC="no"
806+ PLUGIN_EVENT="no"
807+ PLUGIN_FIFO="no"
808+ PLUGIN_FILE="no"
809+ PLUGIN_GPS="no"
810+ PLUGIN_HDDTEMP="no"
811+ PLUGIN_HUAWEI="no"
812+ PLUGIN_I2C_SENSORS="no"
813+ PLUGIN_ICONV="no"
814+ PLUGIN_IMON="no"
815+ PLUGIN_ISDN="no"
816+ PLUGIN_KVV="no"
817+ PLUGIN_LOADAVG="no"
818+ PLUGIN_MEMINFO="no"
819+ PLUGIN_MPD="no"
820+ PLUGIN_MPRIS_DBUS="no"
821+ PLUGIN_MYSQL="no"
822+ PLUGIN_NETDEV="no"
823+ PLUGIN_NETINFO="no"
824+ PLUGIN_POP3="no"
825+ PLUGIN_PPP="no"
826+ PLUGIN_PROC_STAT="no"
827+ PLUGIN_PYTHON="no"
828+ PLUGIN_QNAPLOG="no"
829+ PLUGIN_SAMPLE="no"
830+ PLUGIN_SETI="no"
831+ PLUGIN_STATFS="no"
832+ PLUGIN_UNAME="no"
833+ PLUGIN_UPTIME="no"
834+ PLUGIN_W1RETAP="no"
835+ PLUGIN_WIRELESS="no"
836+ PLUGIN_XMMS="no"
837+ ;;
838 apm)
839 PLUGIN_APM=$val
840 ;;
841@@ -9369,10 +9421,6 @@
842
843 fi
844
845-if test "$PLUGINS" = ""; then
846- as_fn_error $? "You should include at least one plugin..." "$LINENO" 5
847-fi
848-
849
850
851
852@@ -12100,18 +12148,18 @@
853
854
855 { $as_echo "$as_me:${as_lineno-$LINENO}: result: -----------------------------------------
856-including drivers:
857+included drivers:
858 $DRIVERS
859 -----------------------------------------
860-including plugins:
861+included plugins:
862 $PLUGINS
863 -----------------------------------------
864 " >&5
865 $as_echo "-----------------------------------------
866-including drivers:
867+included drivers:
868 $DRIVERS
869 -----------------------------------------
870-including plugins:
871+included plugins:
872 $PLUGINS
873 -----------------------------------------
874 " >&6; }
875@@ -12125,8 +12173,8 @@
876
877
878
879-macro_version='2.4'
880-macro_revision='1.3293'
881+macro_version='2.4.2'
882+macro_revision='1.3337'
883
884
885
886@@ -12759,6 +12807,11 @@
887 lt_cv_sys_max_cmd_len=196608
888 ;;
889
890+ os2*)
891+ # The test takes a long time on OS/2.
892+ lt_cv_sys_max_cmd_len=8192
893+ ;;
894+
895 osf*)
896 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
897 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
898@@ -12798,7 +12851,7 @@
899 # If test is not a shell built-in, we'll probably end up computing a
900 # maximum length that is only half of the actual maximum length, but
901 # we can't tell.
902- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
903+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
904 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
905 test $i != 17 # 1/2 MB should be enough
906 do
907@@ -13227,7 +13280,7 @@
908 lt_cv_deplibs_check_method=pass_all
909 ;;
910
911-# This must be Linux ELF.
912+# This must be glibc/ELF.
913 linux* | k*bsd*-gnu | kopensolaris*-gnu)
914 lt_cv_deplibs_check_method=pass_all
915 ;;
916@@ -13867,13 +13920,13 @@
917 if test -n "$RANLIB"; then
918 case $host_os in
919 openbsd*)
920- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
921+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
922 ;;
923 *)
924- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
925+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
926 ;;
927 esac
928- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
929+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
930 fi
931
932 case $host_os in
933@@ -14020,6 +14073,7 @@
934 # which start with @ or ?.
935 lt_cv_sys_global_symbol_pipe="$AWK '"\
936 " {last_section=section; section=\$ 3};"\
937+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
938 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
939 " \$ 0!~/External *\|/{next};"\
940 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
941@@ -14408,7 +14462,7 @@
942 CFLAGS="$SAVE_CFLAGS"
943 fi
944 ;;
945-sparc*-*solaris*)
946+*-*solaris*)
947 # Find out which ABI we are using.
948 echo 'int i;' > conftest.$ac_ext
949 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
950@@ -14419,7 +14473,20 @@
951 case `/usr/bin/file conftest.o` in
952 *64-bit*)
953 case $lt_cv_prog_gnu_ld in
954- yes*) LD="${LD-ld} -m elf64_sparc" ;;
955+ yes*)
956+ case $host in
957+ i?86-*-solaris*)
958+ LD="${LD-ld} -m elf_x86_64"
959+ ;;
960+ sparc*-*-solaris*)
961+ LD="${LD-ld} -m elf64_sparc"
962+ ;;
963+ esac
964+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
965+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
966+ LD="${LD-ld}_sol2"
967+ fi
968+ ;;
969 *)
970 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
971 LD="${LD-ld} -64"
972@@ -15059,7 +15126,13 @@
973 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
974 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
975 _lt_result=$?
976- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
977+ # If there is a non-empty error log, and "single_module"
978+ # appears in it, assume the flag caused a linker warning
979+ if test -s conftest.err && $GREP single_module conftest.err; then
980+ cat conftest.err >&5
981+ # Otherwise, if the output was created with a 0 exit code from
982+ # the compiler, it worked.
983+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
984 lt_cv_apple_cc_single_mod=yes
985 else
986 cat conftest.err >&5
987@@ -15070,6 +15143,7 @@
988 fi
989 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
990 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
991+
992 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
993 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
994 if ${lt_cv_ld_exported_symbols_list+:} false; then :
995@@ -15102,6 +15176,7 @@
996 fi
997 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
998 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
999+
1000 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
1001 $as_echo_n "checking for -force_load linker flag... " >&6; }
1002 if ${lt_cv_ld_force_load+:} false; then :
1003@@ -15123,7 +15198,9 @@
1004 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
1005 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1006 _lt_result=$?
1007- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
1008+ if test -s conftest.err && $GREP force_load conftest.err; then
1009+ cat conftest.err >&5
1010+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1011 lt_cv_ld_force_load=yes
1012 else
1013 cat conftest.err >&5
1014@@ -15261,7 +15338,22 @@
1015
1016 # Check whether --with-pic was given.
1017 if test "${with_pic+set}" = set; then :
1018- withval=$with_pic; pic_mode="$withval"
1019+ withval=$with_pic; lt_p=${PACKAGE-default}
1020+ case $withval in
1021+ yes|no) pic_mode=$withval ;;
1022+ *)
1023+ pic_mode=default
1024+ # Look at the argument we got. We use all the common list separators.
1025+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1026+ for lt_pkg in $withval; do
1027+ IFS="$lt_save_ifs"
1028+ if test "X$lt_pkg" = "X$lt_p"; then
1029+ pic_mode=yes
1030+ fi
1031+ done
1032+ IFS="$lt_save_ifs"
1033+ ;;
1034+ esac
1035 else
1036 pic_mode=default
1037 fi
1038@@ -15339,6 +15431,10 @@
1039
1040
1041
1042+
1043+
1044+
1045+
1046 test -z "$LN_S" && LN_S="ln -s"
1047
1048
1049@@ -15794,7 +15890,9 @@
1050 case $cc_basename in
1051 nvcc*) # Cuda Compiler Driver 2.2
1052 lt_prog_compiler_wl='-Xlinker '
1053- lt_prog_compiler_pic='-Xcompiler -fPIC'
1054+ if test -n "$lt_prog_compiler_pic"; then
1055+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
1056+ fi
1057 ;;
1058 esac
1059 else
1060@@ -15885,18 +15983,33 @@
1061 ;;
1062 *)
1063 case `$CC -V 2>&1 | sed 5q` in
1064- *Sun\ F* | *Sun*Fortran*)
1065+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
1066 # Sun Fortran 8.3 passes all unrecognized flags to the linker
1067 lt_prog_compiler_pic='-KPIC'
1068 lt_prog_compiler_static='-Bstatic'
1069 lt_prog_compiler_wl=''
1070 ;;
1071+ *Sun\ F* | *Sun*Fortran*)
1072+ lt_prog_compiler_pic='-KPIC'
1073+ lt_prog_compiler_static='-Bstatic'
1074+ lt_prog_compiler_wl='-Qoption ld '
1075+ ;;
1076 *Sun\ C*)
1077 # Sun C 5.9
1078 lt_prog_compiler_pic='-KPIC'
1079 lt_prog_compiler_static='-Bstatic'
1080 lt_prog_compiler_wl='-Wl,'
1081 ;;
1082+ *Intel*\ [CF]*Compiler*)
1083+ lt_prog_compiler_wl='-Wl,'
1084+ lt_prog_compiler_pic='-fPIC'
1085+ lt_prog_compiler_static='-static'
1086+ ;;
1087+ *Portland\ Group*)
1088+ lt_prog_compiler_wl='-Wl,'
1089+ lt_prog_compiler_pic='-fpic'
1090+ lt_prog_compiler_static='-Bstatic'
1091+ ;;
1092 esac
1093 ;;
1094 esac
1095@@ -16258,7 +16371,6 @@
1096 hardcode_direct=no
1097 hardcode_direct_absolute=no
1098 hardcode_libdir_flag_spec=
1099- hardcode_libdir_flag_spec_ld=
1100 hardcode_libdir_separator=
1101 hardcode_minus_L=no
1102 hardcode_shlibpath_var=unsupported
1103@@ -16511,8 +16623,7 @@
1104 xlf* | bgf* | bgxlf* | mpixlf*)
1105 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
1106 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
1107- hardcode_libdir_flag_spec=
1108- hardcode_libdir_flag_spec_ld='-rpath $libdir'
1109+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1110 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
1111 if test "x$supports_anon_versioning" = xyes; then
1112 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
1113@@ -16892,6 +17003,7 @@
1114 # The linker will not automatically build a static lib if we build a DLL.
1115 # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
1116 enable_shared_with_static_runtimes=yes
1117+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
1118 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
1119 # Don't use ranlib
1120 old_postinstall_cmds='chmod 644 $oldlib'
1121@@ -16937,6 +17049,7 @@
1122 hardcode_shlibpath_var=unsupported
1123 if test "$lt_cv_ld_force_load" = "yes"; then
1124 whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1125+
1126 else
1127 whole_archive_flag_spec=''
1128 fi
1129@@ -16965,10 +17078,6 @@
1130 hardcode_shlibpath_var=no
1131 ;;
1132
1133- freebsd1*)
1134- ld_shlibs=no
1135- ;;
1136-
1137 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
1138 # support. Future versions do this automatically, but an explicit c++rt0.o
1139 # does not break anything, and helps significantly (at the cost of a little
1140@@ -16981,7 +17090,7 @@
1141 ;;
1142
1143 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
1144- freebsd2*)
1145+ freebsd2.*)
1146 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1147 hardcode_direct=yes
1148 hardcode_minus_L=yes
1149@@ -17020,7 +17129,6 @@
1150 fi
1151 if test "$with_gnu_ld" = no; then
1152 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
1153- hardcode_libdir_flag_spec_ld='+b $libdir'
1154 hardcode_libdir_separator=:
1155 hardcode_direct=yes
1156 hardcode_direct_absolute=yes
1157@@ -17644,11 +17752,6 @@
1158
1159
1160
1161-
1162-
1163-
1164-
1165-
1166 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
1167 $as_echo_n "checking dynamic linker characteristics... " >&6; }
1168
1169@@ -17738,7 +17841,7 @@
1170
1171 case $host_os in
1172 aix3*)
1173- version_type=linux
1174+ version_type=linux # correct to gnu/linux during the next big refactor
1175 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
1176 shlibpath_var=LIBPATH
1177
1178@@ -17747,7 +17850,7 @@
1179 ;;
1180
1181 aix[4-9]*)
1182- version_type=linux
1183+ version_type=linux # correct to gnu/linux during the next big refactor
1184 need_lib_prefix=no
1185 need_version=no
1186 hardcode_into_libs=yes
1187@@ -17812,7 +17915,7 @@
1188 ;;
1189
1190 bsdi[45]*)
1191- version_type=linux
1192+ version_type=linux # correct to gnu/linux during the next big refactor
1193 need_version=no
1194 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1195 soname_spec='${libname}${release}${shared_ext}$major'
1196@@ -17951,7 +18054,7 @@
1197 ;;
1198
1199 dgux*)
1200- version_type=linux
1201+ version_type=linux # correct to gnu/linux during the next big refactor
1202 need_lib_prefix=no
1203 need_version=no
1204 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
1205@@ -17959,10 +18062,6 @@
1206 shlibpath_var=LD_LIBRARY_PATH
1207 ;;
1208
1209-freebsd1*)
1210- dynamic_linker=no
1211- ;;
1212-
1213 freebsd* | dragonfly*)
1214 # DragonFly does not have aout. When/if they implement a new
1215 # versioning mechanism, adjust this.
1216@@ -17970,7 +18069,7 @@
1217 objformat=`/usr/bin/objformat`
1218 else
1219 case $host_os in
1220- freebsd[123]*) objformat=aout ;;
1221+ freebsd[23].*) objformat=aout ;;
1222 *) objformat=elf ;;
1223 esac
1224 fi
1225@@ -17988,7 +18087,7 @@
1226 esac
1227 shlibpath_var=LD_LIBRARY_PATH
1228 case $host_os in
1229- freebsd2*)
1230+ freebsd2.*)
1231 shlibpath_overrides_runpath=yes
1232 ;;
1233 freebsd3.[01]* | freebsdelf3.[01]*)
1234@@ -18008,7 +18107,7 @@
1235 ;;
1236
1237 gnu*)
1238- version_type=linux
1239+ version_type=linux # correct to gnu/linux during the next big refactor
1240 need_lib_prefix=no
1241 need_version=no
1242 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
1243@@ -18019,7 +18118,7 @@
1244 ;;
1245
1246 haiku*)
1247- version_type=linux
1248+ version_type=linux # correct to gnu/linux during the next big refactor
1249 need_lib_prefix=no
1250 need_version=no
1251 dynamic_linker="$host_os runtime_loader"
1252@@ -18080,7 +18179,7 @@
1253 ;;
1254
1255 interix[3-9]*)
1256- version_type=linux
1257+ version_type=linux # correct to gnu/linux during the next big refactor
1258 need_lib_prefix=no
1259 need_version=no
1260 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
1261@@ -18096,7 +18195,7 @@
1262 nonstopux*) version_type=nonstopux ;;
1263 *)
1264 if test "$lt_cv_prog_gnu_ld" = yes; then
1265- version_type=linux
1266+ version_type=linux # correct to gnu/linux during the next big refactor
1267 else
1268 version_type=irix
1269 fi ;;
1270@@ -18133,9 +18232,9 @@
1271 dynamic_linker=no
1272 ;;
1273
1274-# This must be Linux ELF.
1275+# This must be glibc/ELF.
1276 linux* | k*bsd*-gnu | kopensolaris*-gnu)
1277- version_type=linux
1278+ version_type=linux # correct to gnu/linux during the next big refactor
1279 need_lib_prefix=no
1280 need_version=no
1281 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1282@@ -18229,7 +18328,7 @@
1283 ;;
1284
1285 newsos6)
1286- version_type=linux
1287+ version_type=linux # correct to gnu/linux during the next big refactor
1288 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1289 shlibpath_var=LD_LIBRARY_PATH
1290 shlibpath_overrides_runpath=yes
1291@@ -18298,7 +18397,7 @@
1292 ;;
1293
1294 solaris*)
1295- version_type=linux
1296+ version_type=linux # correct to gnu/linux during the next big refactor
1297 need_lib_prefix=no
1298 need_version=no
1299 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1300@@ -18323,7 +18422,7 @@
1301 ;;
1302
1303 sysv4 | sysv4.3*)
1304- version_type=linux
1305+ version_type=linux # correct to gnu/linux during the next big refactor
1306 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1307 soname_spec='${libname}${release}${shared_ext}$major'
1308 shlibpath_var=LD_LIBRARY_PATH
1309@@ -18347,7 +18446,7 @@
1310
1311 sysv4*MP*)
1312 if test -d /usr/nec ;then
1313- version_type=linux
1314+ version_type=linux # correct to gnu/linux during the next big refactor
1315 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
1316 soname_spec='$libname${shared_ext}.$major'
1317 shlibpath_var=LD_LIBRARY_PATH
1318@@ -18378,7 +18477,7 @@
1319
1320 tpf*)
1321 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
1322- version_type=linux
1323+ version_type=linux # correct to gnu/linux during the next big refactor
1324 need_lib_prefix=no
1325 need_version=no
1326 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1327@@ -18388,7 +18487,7 @@
1328 ;;
1329
1330 uts4*)
1331- version_type=linux
1332+ version_type=linux # correct to gnu/linux during the next big refactor
1333 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
1334 soname_spec='${libname}${release}${shared_ext}$major'
1335 shlibpath_var=LD_LIBRARY_PATH
1336@@ -19170,6 +19269,8 @@
1337
1338
1339
1340+
1341+
1342 ac_config_commands="$ac_config_commands libtool"
1343
1344
1345
1346=== modified file 'configure.in'
1347--- configure.in 2011-08-26 07:26:25 +0000
1348+++ configure.in 2011-12-27 00:36:23 +0000
1349@@ -2,7 +2,7 @@
1350 # Process this file with autoconf to produce a configure script.
1351
1352
1353-# $Id: configure.in 1158 2011-07-28 02:09:16Z michael $
1354+# $Id: configure.in 1165 2011-12-26 06:28:05Z michael $
1355 # $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/configure.in $
1356
1357
1358@@ -105,7 +105,11 @@
1359 fi
1360
1361 # check for parport
1362-#AC_CHECK_HEADERS(asm/io.h)
1363+AC_MSG_CHECKING(if raw port I/O is wanted)
1364+AC_ARG_WITH(outb,
1365+[ --with-outb enable raw port I/O support [[default=no]]],
1366+[AC_MSG_RESULT($withval)], [AC_MSG_RESULT(no)])
1367+
1368 AC_CHECK_HEADERS([asm/io.h] [linux/parport.h linux/ppdev.h], [has_parport="true"], [has_parport="false"])
1369
1370 # drivers
1371@@ -157,10 +161,10 @@
1372
1373 AC_MSG_RESULT(
1374 [-----------------------------------------]
1375-[including drivers:]
1376+[included drivers:]
1377 [ $DRIVERS]
1378 [-----------------------------------------]
1379-[including plugins:]
1380+[included plugins:]
1381 [ $PLUGINS]
1382 [-----------------------------------------]
1383 )
1384
1385=== added file 'debian/NEWS'
1386--- debian/NEWS 1970-01-01 00:00:00 +0000
1387+++ debian/NEWS 2011-12-27 00:36:23 +0000
1388@@ -0,0 +1,10 @@
1389+lcd4linux (0.11.0~svn1165-1) unstable; urgency=low
1390+
1391+ As of 0.11.0~svn1165-1, direct raw parallel port access has been disabled
1392+ by default. The generic_parport driver depended on sys/io.h which is not
1393+ available on all architectures. This change means that lcd4linux is now
1394+ available on the mipsel, powerpc, s390x and sparc architectures. If you
1395+ still require raw I/O, you can uncomment the --with-outb argument in
1396+ debian/rules and rebuild the package.
1397+
1398+ -- Jonathan McCrohan <jmccrohan@gmail.com> Tue, 27 Dec 2011 00:27:15 +0000
1399
1400=== modified file 'debian/changelog'
1401--- debian/changelog 2011-08-30 13:18:14 +0000
1402+++ debian/changelog 2011-12-27 00:36:23 +0000
1403@@ -1,3 +1,16 @@
1404+lcd4linux (0.11.0~svn1165-1) unstable; urgency=low
1405+
1406+ * New upstream snapshot
1407+ - raw port I/O in generic_parport driver disabled. Fixes FTBFS
1408+ issues on mipsel, powerpc, s390x and sparc.
1409+ - includes updates for D4D driver.
1410+ - fixes compilation warnings.
1411+ * debian/NEWS added to announce change in generic_parport driver
1412+ * Update libmysqlclient-dev virtual package in build-depends,
1413+ thanks to Clint Byrum (Closes: #652132)
1414+
1415+ -- Jonathan McCrohan <jmccrohan@gmail.com> Tue, 27 Dec 2011 00:27:15 +0000
1416+
1417 lcd4linux (0.11.0~svn1158-1) unstable; urgency=low
1418
1419 * New upstream snapshot
1420
1421=== modified file 'debian/control'
1422--- debian/control 2011-08-20 19:52:48 +0000
1423+++ debian/control 2011-12-27 00:36:23 +0000
1424@@ -9,7 +9,7 @@
1425 dh-autoreconf,
1426 libdbus-1-dev,
1427 libgd2-noxpm-dev,
1428- libmysqlclient15-dev,
1429+ libmysqlclient-dev,
1430 libncurses5-dev,
1431 libsqlite3-dev,
1432 libusb-dev,
1433
1434=== modified file 'debian/rules'
1435--- debian/rules 2011-08-28 13:31:13 +0000
1436+++ debian/rules 2011-12-27 00:36:23 +0000
1437@@ -34,6 +34,8 @@
1438 --infodir=\$${prefix}/share/info \
1439 --bindir=/usr/sbin \
1440 --disable-rpath
1441+# Enable raw parallel port I/O
1442+# --with-outb
1443
1444 # call this target to update config.sub and config.guess
1445 # need autotools-dev installed
1446
1447=== modified file 'drivers.m4'
1448--- drivers.m4 2011-08-26 07:26:25 +0000
1449+++ drivers.m4 2011-12-27 00:36:23 +0000
1450@@ -1,4 +1,4 @@
1451-dnl $Id: drivers.m4 1158 2011-07-28 02:09:16Z michael $
1452+dnl $Id: drivers.m4 1165 2011-12-26 06:28:05Z michael $
1453 dnl $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/drivers.m4 $
1454
1455
1456@@ -565,7 +565,6 @@
1457
1458 if test "$NEWHAVEN" = "yes"; then
1459 TEXT="yes"
1460- #SERIAL="yes"
1461 I2C="yes"
1462 DRIVERS="$DRIVERS drv_Newhaven.o"
1463 AC_DEFINE(WITH_NEWHAVEN,1,[Newhaven driver])
1464@@ -590,9 +589,7 @@
1465 fi
1466
1467 if test "$PERTELIAN" = "yes"; then
1468- # select either text or graphics mode
1469 TEXT="yes"
1470- # select bus: serial (including USB), parallel or i2c
1471 SERIAL="yes"
1472 DRIVERS="$DRIVERS drv_Pertelian.o"
1473 AC_DEFINE(WITH_PERTELIAN,1,[Pertelian driver])
1474
1475=== modified file 'drv_D4D.c'
1476--- drv_D4D.c 2011-08-26 07:24:25 +0000
1477+++ drv_D4D.c 2011-12-27 00:36:23 +0000
1478@@ -1,9 +1,9 @@
1479-/* $Id: drv_D4D.c 1153 2011-07-27 05:12:30Z michael $
1480+/* $Id: drv_D4D.c 1163 2011-12-09 03:16:17Z sonic74 $
1481 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/drv_D4D.c $
1482 *
1483 * LCD4Linux driver for 4D Systems Display Graphics Modules
1484 *
1485- * Copyright (C) 2008 Sven Killig <sven@killig.de>
1486+ * Copyright (C) 2008, 2011 Sven Killig <sven@killig.de>
1487 * Modified from sample code by:
1488 * Copyright (C) 2005 Michael Reinelt <michael@reinelt.co.at>
1489 * Copyright (C) 2005, 2006, 2007 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
1490@@ -61,9 +61,12 @@
1491 #include "drv_generic_graphic.h"
1492 #include "drv_generic_serial.h"
1493
1494+#include <sys/ioctl.h>
1495+#include <linux/serial.h>
1496+
1497 static char Name[] = "D4D";
1498 char NAME_[20];
1499-int FONT = 1, MODE = 0, EXTRA = 0, SECTOR = 0, SECTOR_SIZE, NOPOWERCYCLE = 0;
1500+int FONT = 1, MODE = 0, EXTRA = 0, SECTOR = 0, SECTOR_SIZE, POWERCYCLE = 0;
1501 /* int CONTRAST_; */
1502
1503 #define address_mmsb(variable) ((variable >> 24) & 0xFF)
1504@@ -98,24 +101,6 @@
1505 /****************************************/
1506
1507
1508-static int drv_D4D_open(const char *section)
1509-{
1510- int fd;
1511- fd = drv_generic_serial_open(section, Name, 0);
1512- if (fd < 0)
1513- return -1;
1514- fcntl(fd, F_SETFL, 0); /* blocking read */
1515- return 0;
1516-}
1517-
1518-
1519-static int drv_D4D_close(void)
1520-{
1521- drv_generic_serial_close();
1522- return 0;
1523-}
1524-
1525-
1526 static void drv_D4D_receive_ACK()
1527 {
1528 char ret[1];
1529@@ -128,8 +113,11 @@
1530 }
1531 }
1532
1533+
1534 static void drv_D4D_send_nowait(const char *data, const unsigned int len)
1535 {
1536+ if (len > 1 && data[0] >= 32 && data[0] < 127)
1537+ debug("drv_D4D_send_nowait('%c'", data[0]);
1538 drv_generic_serial_write(data, len);
1539 }
1540
1541@@ -139,32 +127,156 @@
1542 drv_D4D_receive_ACK();
1543 }
1544
1545-static void drv_D4D_send_nowait_extra(const char *data, const unsigned int len, unsigned char pos1, unsigned char pos2)
1546+static void drv_D4D_send_extra_nowait(const char *data, const unsigned int len, unsigned char pos1, unsigned char pos2,
1547+ unsigned char pos3, unsigned char pos4)
1548 {
1549- /* possibly leave out bytes at pos1 and pos2 for older protocol format */
1550+ /* possibly leave out bytes at posn for GOLDELOX protocol format */
1551 if (EXTRA) {
1552 drv_D4D_send_nowait(data, len);
1553 } else {
1554- unsigned int i;
1555- char send[1];
1556+ unsigned int i, j = 0, lenNew = len;
1557+ char send[len];
1558 for (i = 0; i < len; i++) {
1559- if (!pos1 || i != pos1) {
1560- if (!pos2 || i != pos2) {
1561- send[0] = data[i];
1562- drv_generic_serial_write(send, 1);
1563- }
1564+ if (i != pos1 && i != pos2 && i != pos3 && i != pos4) {
1565+ send[j++] = data[i];
1566+ } else {
1567+ lenNew--;
1568 }
1569 }
1570+ drv_D4D_send_nowait(send, lenNew);
1571 }
1572 }
1573
1574-static void drv_D4D_send_extra(const char *data, const unsigned int len, char pos1, char pos2)
1575+static void drv_D4D_send_extra(const char *data, const unsigned int len, unsigned char pos1, unsigned char pos2,
1576+ unsigned char pos3, unsigned char pos4)
1577 {
1578- drv_D4D_send_nowait_extra(data, len, pos1, pos2);
1579+ drv_D4D_send_extra_nowait(data, len, pos1, pos2, pos3, pos4);
1580 drv_D4D_receive_ACK();
1581 }
1582
1583
1584+static int drv_D4D_open(const char *section)
1585+{
1586+ info("drv_D4D_open()");
1587+ int fd, picaso = 0;
1588+ struct termios portset;
1589+ static speed_t Speed = 0;
1590+ fd = drv_generic_serial_open(section, Name, 0);
1591+ if (fd < 0)
1592+ return -1;
1593+ int flags;
1594+ flags = fcntl(fd, F_GETFL);
1595+ flags &= ~FNDELAY;
1596+ fcntl(fd, F_SETFL, flags);
1597+
1598+ cfg_number(section, "PICASO", 0, 1200, 4000000, &picaso);
1599+ if (picaso) {
1600+ info("switching to 9600 baud");
1601+ if (tcgetattr(fd, &portset) == -1) {
1602+ error("%s: tcgetattr failed: %s", Name, strerror(errno));
1603+ return -1;
1604+ }
1605+ cfsetispeed(&portset, B9600);
1606+ cfsetospeed(&portset, B9600);
1607+ if (tcsetattr(fd, TCSANOW, &portset) == -1) {
1608+ error("%s: tcsetattr failed: %s", Name, strerror(errno));
1609+ return -1;
1610+ }
1611+ }
1612+
1613+ char cmd[] = { 'U' };
1614+ drv_D4D_send(cmd, sizeof(cmd));
1615+ debug("2");
1616+
1617+ if (picaso) {
1618+ char baud[] = { 'Q', 0 };
1619+ switch (picaso) {
1620+ case 1200:
1621+ Speed = B1200;
1622+ baud[1] = 0x03;
1623+ break;
1624+ case 2400:
1625+ Speed = B2400;
1626+ baud[1] = 0x04;
1627+ break;
1628+ case 4800:
1629+ Speed = B4800;
1630+ baud[1] = 0x05;
1631+ break;
1632+ case 9600:
1633+ Speed = B9600;
1634+ baud[1] = 0x06;
1635+ break;
1636+ case 19200:
1637+ Speed = B19200;
1638+ baud[1] = 0x08;
1639+ break;
1640+ case 38400:
1641+ Speed = B38400;
1642+ baud[1] = 0x0A;
1643+ break;
1644+ case 57600:
1645+ Speed = B57600;
1646+ baud[1] = 0x0B;
1647+ break;
1648+ case 115200:
1649+ Speed = B115200;
1650+ baud[1] = 0x0D;
1651+ break;
1652+ default:
1653+ if (picaso >= 128000 && picaso < 256000) { /* FTDI: 129032 */
1654+ Speed = B38400;
1655+ baud[1] = 0x0E;
1656+ break;
1657+ } else if (picaso >= 256000) { /* FTDI: 282353 */
1658+ Speed = B38400;
1659+ baud[1] = 0x0F;
1660+ break;
1661+ }
1662+ error("%s: unsupported speed '%d' from %s", Name, picaso, cfg_source());
1663+ return -1;
1664+ }
1665+ drv_D4D_send_nowait(baud, sizeof(baud));
1666+ sleep(1);
1667+ debug("3");
1668+ cfsetispeed(&portset, Speed);
1669+ cfsetospeed(&portset, Speed);
1670+ if (picaso >= 128000) {
1671+ struct serial_struct sstruct;
1672+ if (ioctl(fd, TIOCGSERIAL, &sstruct) < 0) {
1673+ error("Error: could not get comm ioctl\n");
1674+ return -1;
1675+ }
1676+ sstruct.custom_divisor = sstruct.baud_base / picaso;
1677+ info("baud_base=%d; custom_divisor=%d -> effective baud:%d", sstruct.baud_base, sstruct.custom_divisor,
1678+ sstruct.baud_base / sstruct.custom_divisor);
1679+ sstruct.flags |= ASYNC_SPD_CUST;
1680+ if (ioctl(fd, TIOCSSERIAL, &sstruct) < 0) {
1681+ error("Error: could not set custom comm baud divisor\n");
1682+ return -1;
1683+ }
1684+ }
1685+ debug("4");
1686+ info("switching to %d baud", picaso);
1687+ if (tcsetattr(fd, /*TCSANOW*/ TCSAFLUSH /*TCSADRAIN*/, &portset) == -1) {
1688+ error("%s: tcsetattr failed: %s", Name, strerror(errno));
1689+ return -1;
1690+ }
1691+ debug("5");
1692+
1693+ }
1694+
1695+ return 0;
1696+}
1697+
1698+
1699+static int drv_D4D_close(void)
1700+{
1701+ drv_generic_serial_close();
1702+ return 0;
1703+}
1704+
1705+
1706 static void drv_D4D_clear(void)
1707 {
1708 char cmd[] = { 'E' };
1709@@ -213,24 +325,33 @@
1710 cmdNull[0] = 0;
1711 drv_D4D_send(cmdNull, 1);
1712
1713- char cmd_user[] = { 'D', 0, 0, 0, 0, 0, msb(FG_COLOR), lsb(FG_COLOR) }; /* user defined symbols */
1714+ /* 1, 2, 3, 4, 5, 6
1715+ g, c,mx,lx,my,ly */
1716+ char cmd_user[] = { 'D', 0, 0, 0, 0, 0, 0, msb(FG_COLOR), lsb(FG_COLOR) }; /* user defined symbols */
1717 for (i = 0; i < k; i++) {
1718 cmd_user[2] = user_char[i];
1719- cmd_user[3] = user_x[i];
1720- cmd_user[4] = msb(user_y[i]);
1721- cmd_user[5] = lsb(user_y[i]);
1722- drv_D4D_send_extra(cmd_user, sizeof(cmd_user), 1, 4);
1723+ cmd_user[3] = msb(user_x[i]);
1724+ cmd_user[4] = lsb(user_x[i]);
1725+ cmd_user[5] = msb(user_y[i]);
1726+ cmd_user[6] = lsb(user_y[i]);
1727+ drv_D4D_send_extra(cmd_user, sizeof(cmd_user), 1, 3, 5, -1);
1728 }
1729 } else { /* font on SD card */
1730 int sec;
1731- char cmd_sd[] = { '@', 'I', 0, msb(row * YRES), lsb(row * YRES), XRES, msb(YRES), lsb(YRES), 16, 0, 0, 0 };
1732+ /* 2, 3, 4 , 5 , 6 , 7 , 8 , 9 , 10,11,12,13
1733+ mx,lx, my , ly , mw , lw , mh , lh , cm,hs,ms,ls */
1734+ char cmd_sd[] =
1735+ { '@', 'I', 0, 0, msb(row * YRES), lsb(row * YRES), msb(XRES), lsb(XRES), msb(YRES), lsb(YRES), 16, 0, 0,
1736+ 0
1737+ };
1738 for (i = 0; i < len; i++) {
1739- cmd_sd[2] = (col + i) * XRES;
1740+ cmd_sd[2] = msb((col + i) * XRES);
1741+ cmd_sd[3] = lsb((col + i) * XRES);
1742 sec = SECTOR + (unsigned char) data[i] * SECTOR_SIZE;
1743- cmd_sd[9] = address_hi(sec);
1744- cmd_sd[10] = address_mid(sec);
1745- cmd_sd[11] = address_lo(sec);
1746- drv_D4D_send_extra(cmd_sd, sizeof(cmd_sd), 3, 6);
1747+ cmd_sd[11] = address_hi(sec);
1748+ cmd_sd[12] = address_mid(sec);
1749+ cmd_sd[13] = address_lo(sec);
1750+ drv_D4D_send_extra(cmd_sd, sizeof(cmd_sd), 2, 4, 6, 8);
1751 }
1752 }
1753 }
1754@@ -238,7 +359,7 @@
1755
1756 static void drv_D4D_defchar(const int ascii, const unsigned char *matrix)
1757 {
1758- /* error("drv_D4D_defchar"); */
1759+ info("drv_D4D_defchar");
1760 char cmd[11];
1761 int i;
1762
1763@@ -249,62 +370,61 @@
1764 for (i = 0; i < 8; i++) {
1765 cmd[i + 3] = *matrix++;
1766 }
1767- drv_D4D_send_extra(cmd, sizeof(cmd), 1, 0);
1768+ drv_D4D_send_extra(cmd, sizeof(cmd), 1, -1, -1, -1);
1769 }
1770
1771
1772 static void drv_D4D_blit(const int row, const int col, const int height, const int width)
1773 {
1774- /* error("drv_D4D_blit(%i, %i, %i, %i)",row, col, height, width); */
1775+ debug("drv_D4D_blit(%i, %i, %i, %i)", row, col, height, width);
1776 int r, c;
1777- RGBA rgb, pixel0_0, pixel;
1778+ RGBA rgb;
1779 short int color;
1780- char colorArray[2];
1781-
1782+ char colorArray[width * height * MODE / 8];
1783
1784 /* optimization: single colour rectangle? */
1785- pixel0_0 = drv_generic_graphic_rgb(0, 0);
1786- char unicolor = 1;
1787+ /* commented out because obviously seldom used and expensive */
1788+ /*RGBA pixel0_0, pixel;
1789+ pixel0_0 = drv_generic_graphic_rgb(row, col);
1790+ char unicolor = 1;
1791+ for (r = row; (r < row + height) && unicolor; r++) {
1792+ for (c = col; (c < col + width) && unicolor; c++) {
1793+ pixel = drv_generic_graphic_rgb(r, c);
1794+ if (pixel0_0.R != pixel.R || pixel0_0.G != pixel.G || pixel0_0.B != pixel.B || pixel0_0.A != pixel.A)
1795+ unicolor = 0;
1796+ }
1797+ }
1798+
1799+ if (unicolor) {
1800+ color = RGB_24to16(pixel0_0.R, pixel0_0.G, pixel0_0.B);
1801+ unsigned char col2 = col + width - 1;
1802+ unsigned char row2 = row + height - 1;
1803+ char cmdRect[] =
1804+ { 'r', msb(col), lsb(col), msb(row), lsb(row), msb(col2), lsb(col2), msb(row2), lsb(row2), msb(color),
1805+ lsb(color)
1806+ };
1807+ debug("Rectangle(%i, %i, %i, %i, %i", col, row, col2, row2, color);
1808+ drv_D4D_send_extra(cmdRect, sizeof(cmdRect), 1, 3, 5, 7);
1809+ } else { */
1810+ char cmd[] =
1811+ { 'I', msb(col), lsb(col), msb(row), lsb(row), msb(width), lsb(width), msb(height), lsb(height), MODE };
1812+ int p = 0;
1813+ drv_D4D_send_extra_nowait(cmd, sizeof(cmd), 1, 3, 5, 7);
1814 for (r = row; r < row + height; r++) {
1815- if (!unicolor)
1816- break;
1817 for (c = col; c < col + width; c++) {
1818- if (!unicolor)
1819- break;
1820- pixel = drv_generic_graphic_rgb(r, c);
1821- if (pixel0_0.R != pixel.R || pixel0_0.G != pixel.G || pixel0_0.B != pixel.B || pixel0_0.A != pixel.A)
1822- unicolor = 0;
1823- }
1824- }
1825-
1826- if (unicolor) {
1827- color = RGB_24to16(pixel0_0.R, pixel0_0.G, pixel0_0.B);
1828- char row2 = row + height - 1;
1829- char cmdRect[] =
1830- { 'r', col, msb(row), lsb(row), col + width - 1, msb(row2), lsb(row2), msb(color), lsb(color) };
1831- drv_D4D_send_extra(cmdRect, sizeof(cmdRect), 2, 5);
1832- } else {
1833- char cmd[] = { 'I', col, msb(row), lsb(row), width, msb(height), lsb(height), MODE };
1834- drv_D4D_send_nowait_extra(cmd, sizeof(cmd), 2, 5);
1835- for (r = row; r < row + height; r++) {
1836- for (c = col; c < col + width; c++) {
1837- rgb = drv_generic_graphic_rgb(r, c);
1838- if (MODE == 8) {
1839- colorArray[0] = RGB_24to8(rgb.R, rgb.G, rgb.B);
1840- drv_D4D_send_nowait(colorArray, 1);
1841- } else {
1842- color = RGB_24to16(rgb.R, rgb.G, rgb.B);
1843- colorArray[0] = msb(color);
1844- drv_D4D_send_nowait(colorArray, 1); /* doesn't werk if sent together (error: "partial write(/dev/tts/1): len=2 ret=1") */
1845- /* colorArray[1]=lsb(color); */
1846- colorArray[0] = lsb(color);
1847- drv_D4D_send_nowait(colorArray, 1);
1848- }
1849- /* drv_D4D_send_nowait(colorArray, MODE/8); */
1850+ rgb = drv_generic_graphic_rgb(r, c);
1851+ if (MODE == 8) {
1852+ colorArray[p++] = RGB_24to8(rgb.R, rgb.G, rgb.B);
1853+ } else {
1854+ color = RGB_24to16(rgb.R, rgb.G, rgb.B);
1855+ colorArray[p++] = msb(color);
1856+ colorArray[p++] = lsb(color);
1857 }
1858 }
1859- drv_D4D_receive_ACK();
1860 }
1861+ drv_D4D_send_nowait(colorArray, width * height * MODE / 8); /* doesn't werk if sent together (error: "partial write(/dev/tts/1): len=2 ret=1") */
1862+ drv_D4D_receive_ACK();
1863+ /*} */
1864 }
1865
1866
1867@@ -325,7 +445,7 @@
1868
1869 static int drv_D4D_start(const char *section)
1870 {
1871- /* error("drv_D4D_start()"); */
1872+ info("drv_D4D_start()");
1873 int contrast;
1874 int xres_cfg = -1, yres_cfg = -1;
1875 char *s;
1876@@ -335,14 +455,19 @@
1877 return -1;
1878 }
1879
1880- char cmd[] = { 'U' };
1881- drv_D4D_send(cmd, sizeof(cmd));
1882-
1883-
1884- char getVersion[] = { 'V', 0 };
1885+ char getVersion[] = { 'V', 0 /*1 */ };
1886 drv_D4D_send_nowait(getVersion, sizeof(getVersion));
1887 char answer[5];
1888- drv_generic_serial_read(answer, sizeof(answer));
1889+ debug("reading answer[0]");
1890+ drv_generic_serial_read(answer + 0, 1); /* ,5: PICASO 0/1, Speed 9600: error: "partial read(/dev/ttyUSB0): len=5 ret=1" */
1891+ debug("reading answer[1]");
1892+ drv_generic_serial_read(answer + 1, 1);
1893+ debug("reading answer[2]");
1894+ drv_generic_serial_read(answer + 2, 1);
1895+ debug("reading answer[3]");
1896+ drv_generic_serial_read(answer + 3, 1);
1897+ debug("reading answer[4]");
1898+ drv_generic_serial_read(answer + 4, 1);
1899 char *ids[] = { "uOLED", "uLCD", "uVGA" };
1900 char *id;
1901 if (answer[0] <= 2)
1902@@ -380,7 +505,8 @@
1903 res[i] = 240;
1904 break;
1905 default:
1906- error("Can't detect display dimensions!");
1907+ error("Can't detect display dimensions! answer: {%d, %d, %d, %d, %d}", answer[0], answer[1], answer[2],
1908+ answer[3], answer[4]);
1909 return -1;
1910 }
1911 }
1912@@ -390,38 +516,38 @@
1913
1914 cfg_number(section, "Mode", 0, 0, 16, &MODE);
1915
1916- s = cfg_get(section, "Font", NULL);
1917- if (s == NULL || *s == '\0') {
1918- error("%s: no '%s.Font' entry from %s", Name, section, cfg_source());
1919- return -1;
1920- }
1921- if (sscanf(s, "%dx%d", &xres_cfg, &yres_cfg) < 1 || xres_cfg < 0) {
1922- error("%s: bad %s.Font '%s' from %s", Name, section, s, cfg_source());
1923- free(s);
1924- return -1;
1925- }
1926-
1927- if (yres_cfg == -1) { /* font on SD card */
1928- SECTOR = xres_cfg * 512;
1929- char setAddress[] =
1930- { '@', 'A', address_mmsb(SECTOR), address_mlsb(SECTOR), address_lmsb(SECTOR), address_llsb(SECTOR) };
1931- drv_D4D_send(setAddress, sizeof(setAddress));
1932- char answer1[1];
1933- char readByte[] = { '@', 'r' };
1934- drv_D4D_send_nowait(readByte, sizeof(readByte));
1935- drv_generic_serial_read(answer1, sizeof(answer1));
1936- XRES = answer1[0];
1937- drv_D4D_send_nowait(readByte, sizeof(readByte));
1938- drv_generic_serial_read(answer1, sizeof(answer1));
1939- YRES = answer1[0];
1940- SECTOR = xres_cfg + 1;
1941- SECTOR_SIZE = ceil((double) XRES * (double) YRES * 2.0 / 512.0);
1942- } else {
1943- XRES = xres_cfg;
1944- YRES = yres_cfg;
1945- }
1946-
1947 if (MODE == 0) {
1948+ s = cfg_get(section, "Font", NULL);
1949+ if (s == NULL || *s == '\0') {
1950+ error("%s: no '%s.Font' entry from %s", Name, section, cfg_source());
1951+ return -1;
1952+ }
1953+ if (sscanf(s, "%dx%d", &xres_cfg, &yres_cfg) < 1 || xres_cfg < 0) {
1954+ error("%s: bad %s.Font '%s' from %s", Name, section, s, cfg_source());
1955+ free(s);
1956+ return -1;
1957+ }
1958+
1959+ if (yres_cfg == -1) { /* font on SD card */
1960+ SECTOR = xres_cfg * 512;
1961+ char setAddress[] =
1962+ { '@', 'A', address_mmsb(SECTOR), address_mlsb(SECTOR), address_lmsb(SECTOR), address_llsb(SECTOR) };
1963+ drv_D4D_send(setAddress, sizeof(setAddress));
1964+ char answer1[1];
1965+ char readByte[] = { '@', 'r' };
1966+ drv_D4D_send_nowait(readByte, sizeof(readByte));
1967+ drv_generic_serial_read(answer1, sizeof(answer1));
1968+ XRES = answer1[0];
1969+ drv_D4D_send_nowait(readByte, sizeof(readByte));
1970+ drv_generic_serial_read(answer1, sizeof(answer1));
1971+ YRES = answer1[0];
1972+ SECTOR = xres_cfg + 1;
1973+ SECTOR_SIZE = ceil((double) XRES * (double) YRES * 2.0 / 512.0);
1974+ } else {
1975+ XRES = xres_cfg;
1976+ YRES = yres_cfg;
1977+ }
1978+
1979
1980 color = cfg_get(section, "foreground", "ffffff");
1981 if (color2RGBA(color, &FG_COL_) < 0) {
1982@@ -474,8 +600,8 @@
1983
1984
1985
1986- cfg_number(section, "NoPowerCycle", 0, 1, 65536, &NOPOWERCYCLE);
1987- if (!NOPOWERCYCLE) {
1988+ cfg_number(section, "PowerCycle", 0, 0, 1, &POWERCYCLE);
1989+ if (POWERCYCLE) {
1990 char powerOn[] = { 'Y', 3, 1 };
1991 drv_D4D_send(powerOn, sizeof(powerOn));
1992
1993@@ -523,7 +649,7 @@
1994 }
1995
1996
1997-int lastVal[40 * 40 * 2]; /* ToDo: MAX_WIDGETS*2 */
1998+int lastVal[40 * 40 * 2]; /* Fixme: MAX_WIDGETS*2 */
1999 int drv_D4D_bar_draw(WIDGET * W)
2000 {
2001 /* optimizations:
2002@@ -534,14 +660,14 @@
2003 int row, col, len, res, max, val1, val2;
2004 DIRECTION dir;
2005 #if 0
2006- STYLE style; /* Fixme: unused variable */
2007+ STYLE style; /* Fixme: missing style support */
2008 #endif
2009
2010 row = W->row;
2011 col = W->col;
2012 dir = Bar->direction;
2013 #if 0
2014- style = Bar->style; /* Fixme: unused variable */
2015+ style = Bar->style; /* Fixme: missing style support */
2016 #endif
2017 len = Bar->length;
2018
2019@@ -567,12 +693,12 @@
2020 FG_COLOR = RGB_24to16(fg.R, fg.G, fg.B);
2021 BG_COLOR = RGB_24to16(bg.R, bg.G, bg.B);
2022
2023- char cmd[9];
2024+ char cmd[11];
2025 cmd[0] = 'r';
2026 int val[2];
2027 val[0] = val1;
2028 val[1] = val2;
2029- int i, vals;
2030+ int i, vals, x1, x2;
2031 int lastValIndex0 = row * DCOLS + col;
2032 int cells = DROWS * DCOLS;
2033 if (val1 == val2 && lastVal[lastValIndex0] == lastVal[lastValIndex0 + cells])
2034@@ -582,23 +708,33 @@
2035 for (i = 0; i < vals; i++) {
2036 int lastValIndex = lastValIndex0 + cells * (i /*+1 */ );
2037 int y1 = row * YRES + (YRES / 2) * i;
2038- cmd[2] = msb(y1);
2039- cmd[3] = lsb(y1);
2040- int y2 = y1 + (YRES) / vals - 1;
2041- cmd[5] = msb(y2);
2042- cmd[6] = lsb(y2);
2043+ cmd[3] = msb(y1);
2044+ cmd[4] = lsb(y1);
2045+ int y2 = y1 + YRES / vals - 1;
2046+ cmd[7] = msb(y2);
2047+ cmd[8] = lsb(y2);
2048 if (val[i] > lastVal[lastValIndex]) {
2049- cmd[1] = col * XRES + lastVal[lastValIndex];
2050- cmd[4] = cmd[1] + val[i] - lastVal[lastValIndex] - 1;
2051- cmd[7] = msb(FG_COLOR);
2052- cmd[8] = lsb(FG_COLOR);
2053- drv_D4D_send_extra(cmd, sizeof(cmd), 2, 5);
2054+ x1 = col * XRES + lastVal[lastValIndex];
2055+ cmd[1] = msb(x1);
2056+ cmd[2] = lsb(x1);
2057+ x2 = x1 + val[i] - lastVal[lastValIndex] - 1;
2058+ cmd[5] = msb(x2);
2059+ cmd[6] = lsb(x2);
2060+ cmd[9] = msb(FG_COLOR);
2061+ cmd[10] = lsb(FG_COLOR);
2062+ drv_D4D_send_extra(cmd, sizeof(cmd), 1, 3, 5, 7);
2063 } else if (val[i] < lastVal[lastValIndex]) {
2064- cmd[1] = col * XRES + val[i] - 1 + 1;
2065- cmd[4] = cmd[1] + lastVal[lastValIndex] - val[i];
2066- cmd[7] = msb(BG_COLOR);
2067- cmd[8] = lsb(BG_COLOR);
2068- drv_D4D_send_extra(cmd, sizeof(cmd), 2, 5);
2069+ x1 = col * XRES + val[i] - 1 + 1;
2070+ cmd[1] = msb(x1);
2071+ cmd[2] = lsb(x1);
2072+ x2 = x1 + lastVal[lastValIndex] - val[i];
2073+ cmd[5] = msb(x2);
2074+ cmd[6] = lsb(x2);
2075+ cmd[9] = msb(BG_COLOR);
2076+ cmd[10] = lsb(BG_COLOR);
2077+ drv_D4D_send_extra(cmd, sizeof(cmd), 1, 3, 5, 7);
2078+ } else {
2079+ /* do nothing */
2080 }
2081 lastVal[lastValIndex] = val[i];
2082 }
2083@@ -650,11 +786,11 @@
2084
2085 int drv_D4D_init(const char *section, const int quiet)
2086 {
2087- /* error("drv_D4D_init()"); */
2088+ info("drv_D4D_init()");
2089 WIDGET_CLASS wc;
2090 int ret;
2091
2092- info("%s: %s", Name, "$Rev: 1153 $");
2093+ info("%s: %s", Name, "$Rev: 1163 $");
2094
2095 if ((ret = drv_D4D_start(section)) != 0)
2096 return ret;
2097@@ -732,7 +868,7 @@
2098
2099 int drv_D4D_quit(const int quiet)
2100 {
2101- /* error("drv_D4D_quit()"); */
2102+ info("drv_D4D_quit()");
2103
2104 info("%s: shutting down.", Name);
2105
2106@@ -740,7 +876,7 @@
2107 drv_generic_text_quit();
2108
2109
2110- if (!NOPOWERCYCLE) {
2111+ if (POWERCYCLE) {
2112 drv_D4D_clear();
2113 }
2114
2115@@ -761,12 +897,18 @@
2116 if (MODE)
2117 drv_generic_graphic_quit();
2118
2119- if (!NOPOWERCYCLE) {
2120+ if (POWERCYCLE) {
2121 char powerDown[] = { 'Y', 3, 0 };
2122 drv_D4D_send(powerDown, sizeof(powerDown));
2123 }
2124
2125- debug("closing connection");
2126+ if (EXTRA) {
2127+ info("switching to 9600 baud");
2128+ char baud[] = { 'Q', 0x06 };
2129+ drv_D4D_send_nowait(baud, sizeof(baud));
2130+ }
2131+
2132+ info("closing connection");
2133 drv_D4D_close();
2134
2135 return (0);
2136
2137=== modified file 'drv_EFN.c'
2138--- drv_EFN.c 2011-08-26 07:24:25 +0000
2139+++ drv_EFN.c 2011-12-27 00:36:23 +0000
2140@@ -318,7 +318,7 @@
2141 /* list models */
2142 int drv_EFN_list(void)
2143 {
2144- printf("EFN LED modules + EUG100 Ethernet to serial convertor");
2145+ printf("EFN LED modules + EUG100 Ethernet to serial converter");
2146 return 0;
2147 }
2148
2149
2150=== modified file 'drv_generic_parport.c'
2151--- drv_generic_parport.c 2011-04-27 17:28:49 +0000
2152+++ drv_generic_parport.c 2011-12-27 00:36:23 +0000
2153@@ -1,4 +1,4 @@
2154-/* $Id: drv_generic_parport.c 905 2008-12-23 13:37:07Z michael $
2155+/* $Id: drv_generic_parport.c 1165 2011-12-26 06:28:05Z michael $
2156 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/drv_generic_parport.c $
2157 *
2158 * generic driver helper for serial and parport access
2159@@ -39,13 +39,17 @@
2160 #include <sys/stat.h>
2161 #include <sys/ioctl.h>
2162
2163+#ifdef WITH_OUTB
2164 #ifdef HAVE_SYS_IO_H
2165 #include <sys/io.h>
2166-#define WITH_OUTB
2167 #else
2168 #ifdef HAVE_ASM_IO_H
2169 #include <asm/io.h>
2170-#define WITH_OUTB
2171+#else
2172+#warning neither sys/io.h nor asm/io.h exists.
2173+#warning raw port I/O will be disabled.
2174+#undef WITH_OUTB
2175+#endif
2176 #endif
2177 #endif
2178
2179@@ -88,8 +92,10 @@
2180 /* Any bits set here will have their logic inverted at the parallel port */
2181 static unsigned char inverted_control_bits = 0;
2182
2183+#ifdef WITH_OUTB
2184 /* initial value taken from linux/parport_pc.c */
2185 static unsigned char ctr = 0xc;
2186+#endif
2187
2188 #ifdef WITH_PPDEV
2189 static int PPfd = -1;
2190@@ -130,7 +136,6 @@
2191 #endif
2192 }
2193 #ifdef WITH_PPDEV
2194-
2195 if (PPdev) {
2196 info("%s: using ppdev %s", Driver, PPdev);
2197 PPfd = open(PPdev, O_RDWR);
2198@@ -147,15 +152,15 @@
2199 info("%s: got exclusive access to %s.", Driver, PPdev);
2200 }
2201 #endif
2202-
2203 if (ioctl(PPfd, PPCLAIM)) {
2204 error("%s: ioctl(%s, PPCLAIM) failed: %d %s", Driver, PPdev, errno, strerror(errno));
2205 return -1;
2206 }
2207- } else
2208+ }
2209 #endif
2210
2211- {
2212+#ifdef WITH_OUTB
2213+ if (Port) {
2214 error("using raw port 0x%x (deprecated!)", Port);
2215 error("You *really* should change your setup and use ppdev!");
2216 if ((Port + 3) <= 0x3ff) {
2217@@ -170,6 +175,7 @@
2218 }
2219 }
2220 }
2221+#endif
2222 return 0;
2223 }
2224
2225@@ -187,9 +193,11 @@
2226 return -1;
2227 }
2228 free(PPdev);
2229- } else
2230+ }
2231 #endif
2232- {
2233+
2234+#ifdef WITH_OUTB
2235+ if (Port) {
2236 debug("closing raw port 0x%x", Port);
2237 if ((Port + 3) <= 0x3ff) {
2238 if (ioperm(Port, 3, 0) != 0) {
2239@@ -203,6 +211,7 @@
2240 }
2241 }
2242 }
2243+#endif
2244
2245 return 0;
2246 }
2247@@ -374,13 +383,16 @@
2248 #ifdef WITH_PPDEV
2249 if (PPdev) {
2250 ioctl(PPfd, PPDATADIR, &direction);
2251- } else
2252+ }
2253 #endif
2254- {
2255+
2256+#ifdef WITH_OUTB
2257+ if (Port) {
2258 /* code stolen from linux/parport_pc.h */
2259 ctr = (ctr & ~0x20) ^ (direction ? 0x20 : 0x00);
2260 outb(ctr, Port + 2);
2261 }
2262+#endif
2263 }
2264
2265
2266@@ -395,11 +407,14 @@
2267 #ifdef WITH_PPDEV
2268 if (PPdev) {
2269 ioctl(PPfd, PPRSTATUS, &data);
2270- } else
2271+ }
2272 #endif
2273- {
2274+
2275+#ifdef WITH_OUTB
2276+ if (Port) {
2277 data = inb(Port + 1);
2278 }
2279+#endif
2280
2281 /* clear unused bits */
2282 data &= mask;
2283@@ -426,13 +441,16 @@
2284 frob.mask = mask;
2285 frob.val = val;
2286 ioctl(PPfd, PPFCONTROL, &frob);
2287- } else
2288+ }
2289 #endif
2290- {
2291+
2292+#ifdef WITH_OUTB
2293+ if (Port) {
2294 /* code stolen from linux/parport_pc.h */
2295 ctr = (ctr & ~mask) ^ val;
2296 outb(ctr, Port + 2);
2297 }
2298+#endif
2299 }
2300
2301
2302@@ -469,9 +487,11 @@
2303 frob.val = value2;
2304 ioctl(PPfd, PPFCONTROL, &frob);
2305
2306- } else
2307+ }
2308 #endif
2309- {
2310+
2311+#ifdef WITH_OUTB
2312+ if (Port) {
2313 /* rise */
2314 ctr = (ctr & ~bits) ^ value1;
2315 outb(ctr, Port + 2);
2316@@ -483,6 +503,7 @@
2317 ctr = (ctr & ~bits) ^ value2;
2318 outb(ctr, Port + 2);
2319 }
2320+#endif
2321 }
2322
2323
2324@@ -491,41 +512,51 @@
2325 #ifdef WITH_PPDEV
2326 if (PPdev) {
2327 ioctl(PPfd, PPWDATA, &data);
2328- } else
2329+ }
2330 #endif
2331- {
2332+
2333+#ifdef WITH_OUTB
2334+ if (Port) {
2335 outb(data, Port);
2336 }
2337+#endif
2338 }
2339
2340 unsigned char drv_generic_parport_read(void)
2341 {
2342- unsigned char data;
2343+ unsigned char data = 0;
2344
2345 #ifdef WITH_PPDEV
2346 if (PPdev) {
2347 ioctl(PPfd, PPRDATA, &data);
2348- } else
2349+ }
2350 #endif
2351- {
2352+
2353+#ifdef WITH_OUTB
2354+ if (Port) {
2355 data = inb(Port);
2356 }
2357+#endif
2358+
2359 return data;
2360 }
2361
2362
2363 void drv_generic_parport_debug(void)
2364 {
2365- unsigned char control;
2366+ unsigned char control = 0;
2367
2368 #ifdef WITH_PPDEV
2369 if (PPdev) {
2370 ioctl(PPfd, PPRCONTROL, &control);
2371- } else
2372+ }
2373 #endif
2374- {
2375+
2376+#ifdef WITH_OUTB
2377+ if (Port) {
2378 control = ctr;
2379 }
2380+#endif
2381
2382 debug("%cSTROBE %cAUTOFD %cINIT %cSLCTIN",
2383 control & PARPORT_CONTROL_STROBE ? '-' : '+',
2384
2385=== modified file 'drv_generic_text.h'
2386--- drv_generic_text.h 2011-04-27 17:28:49 +0000
2387+++ drv_generic_text.h 2011-12-27 00:36:23 +0000
2388@@ -1,4 +1,4 @@
2389-/* $Id: drv_generic_text.h 840 2007-09-09 12:17:42Z michael $
2390+/* $Id: drv_generic_text.h 1164 2011-12-22 10:48:01Z mjona $
2391 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/drv_generic_text.h $
2392 *
2393 * generic driver helper for text-based displays
2394@@ -31,6 +31,7 @@
2395
2396 #include "drv_generic.h"
2397 #include "widget.h"
2398+#include "widget_bar.h"
2399
2400 extern int CHARS, CHAR0; /* number of user-defineable characters, ASCII of first char */
2401 extern int ICONS; /* number of user-defineable characters reserved for icons */
2402
2403=== modified file 'lcd4linux_i2c.h'
2404--- lcd4linux_i2c.h 2011-04-27 17:28:49 +0000
2405+++ lcd4linux_i2c.h 2011-12-27 00:36:23 +0000
2406@@ -1,4 +1,4 @@
2407-/* $Id: lcd4linux_i2c.h 728 2007-01-14 11:14:38Z michael $
2408+/* $Id: lcd4linux_i2c.h 1164 2011-12-22 10:48:01Z mjona $
2409 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/lcd4linux_i2c.h $
2410 *
2411 * user space i2c sturctures and defines, taken from the official kernel i2c
2412@@ -459,6 +459,7 @@
2413
2414 #define I2C_RDRW_IOCTL_MAX_MSGS 42
2415
2416+#include <stdlib.h>
2417 #include <sys/ioctl.h>
2418
2419 static inline __s32 i2c_smbus_access(int file, char read_write, __u8 command, int size, union i2c_smbus_data *data)
2420
2421=== modified file 'plugin_huawei.c'
2422--- plugin_huawei.c 2011-08-26 07:24:25 +0000
2423+++ plugin_huawei.c 2011-12-27 00:36:23 +0000
2424@@ -563,7 +563,7 @@
2425
2426 if (strncmp(buf, "OK", 2) == 0) {
2427 configured = 1;
2428- info("%s: Modem user inerface succesfully initialized to: \'%s\'", name, INIT_STRING);
2429+ info("%s: Modem user inerface successfully initialized to: \'%s\'", name, INIT_STRING);
2430 } else {
2431 configured = 0;
2432 error("%s: ERROR: Invalid or empty response: \'%s\' received for: \'%s\'", name, buf, INIT_STRING);
2433
2434=== modified file 'plugin_pop3.c'
2435--- plugin_pop3.c 2011-04-27 17:28:49 +0000
2436+++ plugin_pop3.c 2011-12-27 00:36:23 +0000
2437@@ -1,4 +1,4 @@
2438-/* $Id: plugin_pop3.c 728 2007-01-14 11:14:38Z michael $
2439+/* $Id: plugin_pop3.c 1159 2011-08-31 22:00:29Z jmccrohan $
2440 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/plugin_pop3.c $
2441 *
2442 * Plugin to check POP3 mail accounts
2443@@ -299,7 +299,7 @@
2444 n = getConfig();
2445 /* by now, head should point to a list of all our accounts */
2446 if (head) {
2447- info("[POP3] %d POP3 accounts have been succesfully defined", n);
2448+ info("[POP3] %d POP3 accounts have been successfully defined", n);
2449 configured = 1;
2450 } else {
2451 configured = -1;
2452
2453=== modified file 'plugins.m4'
2454--- plugins.m4 2011-08-26 07:26:25 +0000
2455+++ plugins.m4 2011-12-27 00:36:23 +0000
2456@@ -1,4 +1,4 @@
2457-dnl $Id: plugins.m4 1149 2011-07-27 02:36:25Z michael $
2458+dnl $Id: plugins.m4 1165 2011-12-26 06:28:05Z michael $
2459 dnl $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/plugins.m4 $
2460
2461
2462@@ -101,6 +101,47 @@
2463 PLUGIN_WIRELESS="yes"
2464 PLUGIN_XMMS="yes"
2465 ;;
2466+ none)
2467+ PLUGIN_APM="no"
2468+ PLUGIN_ASTERISK="no"
2469+ PLUGIN_BUTTON_EXEC="no"
2470+ PLUGIN_CPUINFO="no"
2471+ PLUGIN_DBUS="no"
2472+ PLUGIN_DISKSTATS="no"
2473+ PLUGIN_DVB="no"
2474+ PLUGIN_EXEC="no"
2475+ PLUGIN_EVENT="no"
2476+ PLUGIN_FIFO="no"
2477+ PLUGIN_FILE="no"
2478+ PLUGIN_GPS="no"
2479+ PLUGIN_HDDTEMP="no"
2480+ PLUGIN_HUAWEI="no"
2481+ PLUGIN_I2C_SENSORS="no"
2482+ PLUGIN_ICONV="no"
2483+ PLUGIN_IMON="no"
2484+ PLUGIN_ISDN="no"
2485+ PLUGIN_KVV="no"
2486+ PLUGIN_LOADAVG="no"
2487+ PLUGIN_MEMINFO="no"
2488+ PLUGIN_MPD="no"
2489+ PLUGIN_MPRIS_DBUS="no"
2490+ PLUGIN_MYSQL="no"
2491+ PLUGIN_NETDEV="no"
2492+ PLUGIN_NETINFO="no"
2493+ PLUGIN_POP3="no"
2494+ PLUGIN_PPP="no"
2495+ PLUGIN_PROC_STAT="no"
2496+ PLUGIN_PYTHON="no"
2497+ PLUGIN_QNAPLOG="no"
2498+ PLUGIN_SAMPLE="no"
2499+ PLUGIN_SETI="no"
2500+ PLUGIN_STATFS="no"
2501+ PLUGIN_UNAME="no"
2502+ PLUGIN_UPTIME="no"
2503+ PLUGIN_W1RETAP="no"
2504+ PLUGIN_WIRELESS="no"
2505+ PLUGIN_XMMS="no"
2506+ ;;
2507 apm)
2508 PLUGIN_APM=$val
2509 ;;
2510@@ -583,9 +624,5 @@
2511 AC_DEFINE(PLUGIN_XMMS,1,[xmms plugin])
2512 fi
2513
2514-if test "$PLUGINS" = ""; then
2515- AC_MSG_ERROR([You should include at least one plugin...])
2516-fi
2517-
2518 AC_SUBST(PLUGINS)
2519 AC_SUBST(PLUGINLIBS)
2520
2521=== modified file 'svn_version.h'
2522--- svn_version.h 2011-04-27 17:28:49 +0000
2523+++ svn_version.h 2011-12-27 00:36:23 +0000
2524@@ -1,1 +1,1 @@
2525-#define SVN_VERSION "1092"
2526+#define SVN_VERSION "1158"
2527
2528=== modified file 'timer.h'
2529--- timer.h 2011-04-27 17:28:49 +0000
2530+++ timer.h 2011-12-27 00:36:23 +0000
2531@@ -1,4 +1,4 @@
2532-/* $Id: timer.h 1136 2010-11-28 16:07:16Z mzuther $
2533+/* $Id: timer.h 1164 2011-12-22 10:48:01Z mjona $
2534 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/timer.h $
2535 *
2536 * generic timer handling
2537@@ -28,6 +28,7 @@
2538 #ifndef _TIMER_H_
2539 #define _TIMER_H_
2540
2541+#include <time.h>
2542
2543 int timer_add(void (*callback) (void *data), void *data, const int interval, const int one_shot);
2544
2545
2546=== modified file 'widget_bar.h'
2547--- widget_bar.h 2011-04-27 17:28:49 +0000
2548+++ widget_bar.h 2011-12-27 00:36:23 +0000
2549@@ -1,4 +1,4 @@
2550-/* $Id: widget_bar.h 840 2007-09-09 12:17:42Z michael $
2551+/* $Id: widget_bar.h 1164 2011-12-22 10:48:01Z mjona $
2552 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_bar.h $
2553 *
2554 * bar widget handling
2555@@ -29,6 +29,8 @@
2556 #define _WIDGET_BAR_H_
2557
2558 #include "property.h"
2559+#include "widget.h"
2560+#include "rgb.h"
2561
2562 typedef enum { DIR_EAST = 1, DIR_WEST = 2, DIR_NORTH = 4, DIR_SOUTH = 8 } DIRECTION;
2563 typedef enum { STYLE_HOLLOW = 1, STYLE_FIRST = 2, STYLE_LAST = 4 } STYLE;
2564
2565=== modified file 'widget_gpo.h'
2566--- widget_gpo.h 2011-04-27 17:28:49 +0000
2567+++ widget_gpo.h 2011-12-27 00:36:23 +0000
2568@@ -1,4 +1,4 @@
2569-/* $Id: widget_gpo.h 840 2007-09-09 12:17:42Z michael $
2570+/* $Id: widget_gpo.h 1164 2011-12-22 10:48:01Z mjona $
2571 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_gpo.h $
2572 *
2573 * GPO widget handling
2574@@ -29,6 +29,7 @@
2575 #define _WIDGET_GPO_H_
2576
2577 #include "property.h"
2578+#include "widget.h"
2579
2580 typedef struct WIDGET_GPO {
2581 PROPERTY expression; /* main GPO expression */
2582
2583=== modified file 'widget_icon.h'
2584--- widget_icon.h 2011-04-27 17:28:49 +0000
2585+++ widget_icon.h 2011-12-27 00:36:23 +0000
2586@@ -1,4 +1,4 @@
2587-/* $Id: widget_icon.h 1035 2009-05-19 10:42:01Z michael $
2588+/* $Id: widget_icon.h 1164 2011-12-22 10:48:01Z mjona $
2589 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_icon.h $
2590 *
2591 * icon widget handling
2592@@ -29,6 +29,7 @@
2593 #define _WIDGET_ICON_H_
2594
2595 #include "property.h"
2596+#include "widget.h"
2597
2598 typedef struct WIDGET_ICON {
2599 PROPERTY speed; /* update interval (msec) */
2600
2601=== modified file 'widget_image.h'
2602--- widget_image.h 2011-04-27 17:28:49 +0000
2603+++ widget_image.h 2011-12-27 00:36:23 +0000
2604@@ -1,4 +1,4 @@
2605-/* $Id: widget_image.h 840 2007-09-09 12:17:42Z michael $
2606+/* $Id: widget_image.h 1164 2011-12-22 10:48:01Z mjona $
2607 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_image.h $
2608 *
2609 * image widget handling
2610@@ -29,6 +29,7 @@
2611 #define _WIDGET_IMAGE_H_
2612
2613 #include "property.h"
2614+#include "widget.h"
2615 #include "rgb.h"
2616
2617 typedef struct WIDGET_IMAGE {
2618
2619=== modified file 'widget_keypad.h'
2620--- widget_keypad.h 2011-04-27 17:28:49 +0000
2621+++ widget_keypad.h 2011-12-27 00:36:23 +0000
2622@@ -1,4 +1,4 @@
2623-/* $Id: widget_keypad.h 748 2007-01-20 05:00:06Z michael $
2624+/* $Id: widget_keypad.h 1164 2011-12-22 10:48:01Z mjona $
2625 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_keypad.h $
2626 *
2627 * keypad widget handling
2628@@ -29,6 +29,7 @@
2629 #define _WIDGET_KEYPAD_H_
2630
2631 #include "property.h"
2632+#include "widget.h"
2633
2634 typedef enum {
2635 WIDGET_KEY_UP = 1,
2636
2637=== modified file 'widget_text.h'
2638--- widget_text.h 2011-04-27 17:28:49 +0000
2639+++ widget_text.h 2011-12-27 00:36:23 +0000
2640@@ -1,4 +1,4 @@
2641-/* $Id: widget_text.h 1083 2010-01-18 13:12:25Z michael $
2642+/* $Id: widget_text.h 1164 2011-12-22 10:48:01Z mjona $
2643 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_text.h $
2644 *
2645 * simple text widget handling
2646@@ -29,6 +29,7 @@
2647 #define _WIDGET_TEXT_H_
2648
2649 #include "property.h"
2650+#include "widget.h"
2651
2652 typedef enum { ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT, ALIGN_MARQUEE, ALIGN_AUTOMATIC, ALIGN_PINGPONG_LEFT,
2653 ALIGN_PINGPONG_CENTER, ALIGN_PINGPONG_RIGHT
2654
2655=== modified file 'widget_timer.h'
2656--- widget_timer.h 2011-04-27 17:28:49 +0000
2657+++ widget_timer.h 2011-12-27 00:36:23 +0000
2658@@ -1,4 +1,4 @@
2659-/* $Id: widget_timer.h 840 2007-09-09 12:17:42Z michael $
2660+/* $Id: widget_timer.h 1164 2011-12-22 10:48:01Z mjona $
2661 * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/widget_timer.h $
2662 *
2663 * timer widget handling
2664@@ -29,6 +29,7 @@
2665 #define _WIDGET_TIMER_H_
2666
2667 #include "property.h"
2668+#include "widget.h"
2669
2670 typedef struct WIDGET_TIMER {
2671 PROPERTY expression; /* main timer expression */

Subscribers

People subscribed via source and target branches

to all changes: