Codebase list iio-sensor-proxy / dc52204
Update upstream source from tag 'upstream/2.8' Update to upstream version '2.8' with Debian dir b1b6c6760ee74c56b3f7d2f718075e1dd7738195 Mike Gabriel 4 years ago
59 changed file(s) with 4488 addition(s) and 4041 deletion(s). Raw diff Collapse all Expand all
0 # Note, we need this set for umockdev to be available in tests
1 GTESTER = gtester # in $PATH for non-GLIB packages
2 GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
3
4 # initialize variables for unconditional += appending
5 TEST_PROGS =
6
7 # test: run all tests in cwd and subdirs
8 test: ${TEST_PROGS}
9 @test -z "${TEST_PROGS}" || ${GTESTER} --verbose ${TEST_PROGS}
10 @ for subdir in $(SUBDIRS) . ; do \
11 test "$$subdir" = "." -o "$$subdir" = "po" || \
12 ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
13 done
14
15 # test-report: run tests in subdirs and generate report
16 # perf-report: run tests in subdirs with -m perf and generate report
17 # full-report: like test-report: with -m perf and -m slow
18 test-report perf-report full-report: ${TEST_PROGS}
19 @test -z "${TEST_PROGS}" || { \
20 case $@ in \
21 test-report) test_options="-k";; \
22 perf-report) test_options="-k -m=perf";; \
23 full-report) test_options="-k -m=perf -m=slow";; \
24 esac ; \
25 if test -z "$$GTESTER_LOGDIR" ; then \
26 ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
27 elif test -n "${TEST_PROGS}" ; then \
28 ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
29 fi ; \
30 }
31 @ ignore_logdir=true ; \
32 if test -z "$$GTESTER_LOGDIR" ; then \
33 GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
34 ignore_logdir=false ; \
35 fi ; \
36 for subdir in $(SUBDIRS) . ; do \
37 test "$$subdir" = "." -o "$$subdir" = "po" || \
38 ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
39 done ; \
40 $$ignore_logdir || { \
41 echo '<?xml version="1.0"?>' > $@.xml ; \
42 echo '<report-collection>' >> $@.xml ; \
43 for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
44 sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
45 done ; \
46 echo >> $@.xml ; \
47 echo '</report-collection>' >> $@.xml ; \
48 rm -rf "$$GTESTER_LOGDIR"/ ; \
49 ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
50 }
51 .PHONY: test test-report perf-report full-report
52 # run make test as part of make check
53 check-local: test
0 # Makefile.in generated by automake 1.15.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2017 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
144144 $(RECURSIVE_CLEAN_TARGETS) \
145145 $(am__extra_recursive_targets)
146146 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
147 cscope distdir dist dist-all distcheck
147 cscope distdir distdir-am dist dist-all distcheck
148148 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
149149 # Read a list of newline-separated strings from the standard input,
150150 # and print each of them once, without duplicates. Input order is
363363 echo ' $(SHELL) ./config.status'; \
364364 $(SHELL) ./config.status;; \
365365 *) \
366 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
367 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
366 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
367 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
368368 esac;
369369
370370 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
482482 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
483483 -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
484484
485 distdir: $(DISTFILES)
485 distdir: $(BUILT_SOURCES)
486 $(MAKE) $(AM_MAKEFLAGS) distdir-am
487
488 distdir-am: $(DISTFILES)
486489 @case `sed 15q $(srcdir)/NEWS` in \
487490 *"$(VERSION)"*) : ;; \
488491 *) \
0 2.8
1 ---
2
3 This release adds support for accelerometers in ChromeBooks, and also
4 fixes the screen orientation in favour of portrait when rotating the
5 display instead of favouring the previous orientation.
6
7 2.7
8 ---
9
10 This release fixes broken sensor readings on multiple platforms due
11 to a compiler optimisation.
12
13 2.6
14 ---
15
16 This release adds support for mount matrices coming from the kernel
17 itself, checking those more thoroughly for validity. On devices with
18 multiple accelerometers, the ones in the base are now ignored.
19
20 Support for sensors with uncommon formats was already enhanced (or fixed
21 depending on the device). A couple of possible crashes and memory
22 leaks were also fixed.
23
24 2.5
25 ---
26
27 This release fixes a number of build warnings and bugs, as well as
28 ensuring that some devices have non-0 update frequencies, and that
29 the sensor scale is set to 1.0 when the device does not export one.
30
031 2.4
132 ---
233
2121 automatically be applied when rotating the panel, ambient light will be used
2222 to change the screen brightness, and Geoclue will be able to read the compass
2323 data to show the direction in Maps.
24
25 Note that nothing in iio-sensor-proxy is GNOME specific, or relies on GNOME.
26 GNOME and geoclue use the data provided by iio-sensor-proxy, other desktop
27 environments are more than welcome to use this as a basis for their own
28 integration.
29
30 Debugging
31 ---------
2432
2533 Note that a number of kernel bugs will prevent it from working correctly on
2634 some machines so please make sure to use the latest upstream kernel (kernel
97105 unresponsive sensors, ask your distributor to make sure this patch was
98106 applied to the version you're using.
99107
108 The IIO sensors regressed again not long afterwards, which got fixed in
109 [this commit](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6f92253024d9d947a4f454654840ce479e251376).
110 Again, make sure that your kernel contains this fix.
111
100112 References
101113 ----------
102114
103115 - [sensorfw](https://git.merproject.org/mer-core/sensorfw/tree/master)
104116 - [android-iio-sensors-hal](https://github.com/01org/android-iio-sensors-hal)
105117 - [Sensor orientation on MSDN](https://msdn.microsoft.com/en-us/windows/uwp/devices-sensors/sensor-orientation)
106
107 Tested on
108 ---------
109
110 - Apple MacBook Air (4,2)
111 - Apple MacBook Air (6,2)
112 - Apple MacBook Pro (8.2)
113 - Asus Transformer Book TP500LB
114 - Asus Zenbook UX31A, UX303L, UX305, UX330UA
115 - Cube i9
116 - Dell Inspiron 13 7000
117 - Dell Venue 11 Pro (7140)
118 - Dell Venue 8 Pro
119 - Dell XPS 9365
120 - HP Pavilion X360
121 - HP Spectre x360 (Kaby Lake)
122 - Lenovo IdeaPad Yoga 13
123 - Lenovo ThinkPad Twist
124 - Lenovo X1 Carbon 2014 (rev2)
125 - Lenovo X1 Tablet
126 - Lenovo Yoga 2 13" and 11"
127 - Lenovo Yoga 2 Pro
128 - Lenovo Yoga 460
129 - Lenovo Yoga 710-11ISK
130 - Lenovo Yoga 900
131 - Microsoft Surface Pro 2
132 - Onda v975w
133 - Toshiba Portégé Z10t
134 - Toshiba Radius 11 L10WC10C
2121 automatically be applied when rotating the panel, ambient light will be used
2222 to change the screen brightness, and Geoclue will be able to read the compass
2323 data to show the direction in Maps.
24
25 Note that nothing in iio-sensor-proxy is GNOME specific, or relies on GNOME.
26 GNOME and geoclue use the data provided by iio-sensor-proxy, other desktop
27 environments are more than welcome to use this as a basis for their own
28 integration.
29
30 Debugging
31 ---------
2432
2533 Note that a number of kernel bugs will prevent it from working correctly on
2634 some machines so please make sure to use the latest upstream kernel (kernel
97105 unresponsive sensors, ask your distributor to make sure this patch was
98106 applied to the version you're using.
99107
108 The IIO sensors regressed again not long afterwards, which got fixed in
109 [this commit](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6f92253024d9d947a4f454654840ce479e251376).
110 Again, make sure that your kernel contains this fix.
111
100112 References
101113 ----------
102114
103115 - [sensorfw](https://git.merproject.org/mer-core/sensorfw/tree/master)
104116 - [android-iio-sensors-hal](https://github.com/01org/android-iio-sensors-hal)
105117 - [Sensor orientation on MSDN](https://msdn.microsoft.com/en-us/windows/uwp/devices-sensors/sensor-orientation)
106
107 Tested on
108 ---------
109
110 - Apple MacBook Air (4,2)
111 - Apple MacBook Air (6,2)
112 - Apple MacBook Pro (8.2)
113 - Asus Transformer Book TP500LB
114 - Asus Zenbook UX31A, UX303L, UX305, UX330UA
115 - Cube i9
116 - Dell Inspiron 13 7000
117 - Dell Venue 11 Pro (7140)
118 - Dell Venue 8 Pro
119 - Dell XPS 9365
120 - HP Pavilion X360
121 - HP Spectre x360 (Kaby Lake)
122 - Lenovo IdeaPad Yoga 13
123 - Lenovo ThinkPad Twist
124 - Lenovo X1 Carbon 2014 (rev2)
125 - Lenovo X1 Tablet
126 - Lenovo Yoga 2 13" and 11"
127 - Lenovo Yoga 2 Pro
128 - Lenovo Yoga 460
129 - Lenovo Yoga 710-11ISK
130 - Lenovo Yoga 900
131 - Microsoft Surface Pro 2
132 - Onda v975w
133 - Toshiba Portégé Z10t
134 - Toshiba Radius 11 L10WC10C
0 # generated automatically by aclocal 1.15.1 -*- Autoconf -*-
1
2 # Copyright (C) 1996-2017 Free Software Foundation, Inc.
0 # generated automatically by aclocal 1.16.1 -*- Autoconf -*-
1
2 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
33
44 # This file is free software; the Free Software Foundation
55 # gives unlimited permission to copy and/or distribute it,
1919 If you have problems, you may need to regenerate the build system entirely.
2020 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
2121
22 # Copyright (C) 2002-2017 Free Software Foundation, Inc.
22 # Copyright (C) 2002-2018 Free Software Foundation, Inc.
2323 #
2424 # This file is free software; the Free Software Foundation
2525 # gives unlimited permission to copy and/or distribute it,
3131 # generated from the m4 files accompanying Automake X.Y.
3232 # (This private macro should not be called outside this file.)
3333 AC_DEFUN([AM_AUTOMAKE_VERSION],
34 [am__api_version='1.15'
34 [am__api_version='1.16'
3535 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
3636 dnl require some minimum version. Point them to the right macro.
37 m4_if([$1], [1.15.1], [],
37 m4_if([$1], [1.16.1], [],
3838 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
3939 ])
4040
5050 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
5151 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
5252 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
53 [AM_AUTOMAKE_VERSION([1.15.1])dnl
53 [AM_AUTOMAKE_VERSION([1.16.1])dnl
5454 m4_ifndef([AC_AUTOCONF_VERSION],
5555 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
5656 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
5757
5858 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
5959
60 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
60 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
6161 #
6262 # This file is free software; the Free Software Foundation
6363 # gives unlimited permission to copy and/or distribute it,
109109
110110 # AM_CONDITIONAL -*- Autoconf -*-
111111
112 # Copyright (C) 1997-2017 Free Software Foundation, Inc.
112 # Copyright (C) 1997-2018 Free Software Foundation, Inc.
113113 #
114114 # This file is free software; the Free Software Foundation
115115 # gives unlimited permission to copy and/or distribute it,
140140 Usually this means the macro was only invoked conditionally.]])
141141 fi])])
142142
143 # Copyright (C) 1999-2017 Free Software Foundation, Inc.
143 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
144144 #
145145 # This file is free software; the Free Software Foundation
146146 # gives unlimited permission to copy and/or distribute it,
331331
332332 # Generate code to set up dependency tracking. -*- Autoconf -*-
333333
334 # Copyright (C) 1999-2017 Free Software Foundation, Inc.
335 #
336 # This file is free software; the Free Software Foundation
337 # gives unlimited permission to copy and/or distribute it,
338 # with or without modifications, as long as this notice is preserved.
339
334 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
335 #
336 # This file is free software; the Free Software Foundation
337 # gives unlimited permission to copy and/or distribute it,
338 # with or without modifications, as long as this notice is preserved.
340339
341340 # _AM_OUTPUT_DEPENDENCY_COMMANDS
342341 # ------------------------------
345344 # Older Autoconf quotes --file arguments for eval, but not when files
346345 # are listed without --file. Let's play safe and only enable the eval
347346 # if we detect the quoting.
348 case $CONFIG_FILES in
349 *\'*) eval set x "$CONFIG_FILES" ;;
350 *) set x $CONFIG_FILES ;;
351 esac
347 # TODO: see whether this extra hack can be removed once we start
348 # requiring Autoconf 2.70 or later.
349 AS_CASE([$CONFIG_FILES],
350 [*\'*], [eval set x "$CONFIG_FILES"],
351 [*], [set x $CONFIG_FILES])
352352 shift
353 for mf
353 # Used to flag and report bootstrapping failures.
354 am_rc=0
355 for am_mf
354356 do
355357 # Strip MF so we end up with the name of the file.
356 mf=`echo "$mf" | sed -e 's/:.*$//'`
357 # Check whether this is an Automake generated Makefile or not.
358 # We used to match only the files named 'Makefile.in', but
359 # some people rename them; so instead we look at the file content.
360 # Grep'ing the first line is not enough: some people post-process
361 # each Makefile.in and add a new line on top of each file to say so.
362 # Grep'ing the whole file is not good either: AIX grep has a line
358 am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
359 # Check whether this is an Automake generated Makefile which includes
360 # dependency-tracking related rules and includes.
361 # Grep'ing the whole file directly is not great: AIX grep has a line
363362 # limit of 2048, but all sed's we know have understand at least 4000.
364 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
365 dirpart=`AS_DIRNAME("$mf")`
366 else
367 continue
368 fi
369 # Extract the definition of DEPDIR, am__include, and am__quote
370 # from the Makefile without running 'make'.
371 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
372 test -z "$DEPDIR" && continue
373 am__include=`sed -n 's/^am__include = //p' < "$mf"`
374 test -z "$am__include" && continue
375 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
376 # Find all dependency output files, they are included files with
377 # $(DEPDIR) in their names. We invoke sed twice because it is the
378 # simplest approach to changing $(DEPDIR) to its actual value in the
379 # expansion.
380 for file in `sed -n "
381 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
382 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
383 # Make sure the directory exists.
384 test -f "$dirpart/$file" && continue
385 fdir=`AS_DIRNAME(["$file"])`
386 AS_MKDIR_P([$dirpart/$fdir])
387 # echo "creating $dirpart/$file"
388 echo '# dummy' > "$dirpart/$file"
389 done
363 sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
364 || continue
365 am_dirpart=`AS_DIRNAME(["$am_mf"])`
366 am_filepart=`AS_BASENAME(["$am_mf"])`
367 AM_RUN_LOG([cd "$am_dirpart" \
368 && sed -e '/# am--include-marker/d' "$am_filepart" \
369 | $MAKE -f - am--depfiles]) || am_rc=$?
390370 done
371 if test $am_rc -ne 0; then
372 AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
373 for automatic dependency tracking. Try re-running configure with the
374 '--disable-dependency-tracking' option to at least be able to build
375 the package (albeit without support for automatic dependency tracking).])
376 fi
377 AS_UNSET([am_dirpart])
378 AS_UNSET([am_filepart])
379 AS_UNSET([am_mf])
380 AS_UNSET([am_rc])
381 rm -f conftest-deps.mk
391382 }
392383 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
393384
396387 # -----------------------------
397388 # This macro should only be invoked once -- use via AC_REQUIRE.
398389 #
399 # This code is only required when automatic dependency tracking
400 # is enabled. FIXME. This creates each '.P' file that we will
401 # need in order to bootstrap the dependency handling code.
390 # This code is only required when automatic dependency tracking is enabled.
391 # This creates each '.Po' and '.Plo' makefile fragment that we'll need in
392 # order to bootstrap the dependency handling code.
402393 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
403394 [AC_CONFIG_COMMANDS([depfiles],
404395 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
405 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
406 ])
396 [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
407397
408398 # Do all the work for Automake. -*- Autoconf -*-
409399
410 # Copyright (C) 1996-2017 Free Software Foundation, Inc.
400 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
411401 #
412402 # This file is free software; the Free Software Foundation
413403 # gives unlimited permission to copy and/or distribute it,
494484 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
495485 # For better backward compatibility. To be removed once Automake 1.9.x
496486 # dies out for good. For more background, see:
497 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
498 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
487 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
488 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
499489 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
500490 # We need awk for the "check" target (and possibly the TAP driver). The
501491 # system "awk" is bad on some platforms.
562552 Aborting the configuration process, to ensure you take notice of the issue.
563553
564554 You can download and install GNU coreutils to get an 'rm' implementation
565 that behaves properly: <http://www.gnu.org/software/coreutils/>.
555 that behaves properly: <https://www.gnu.org/software/coreutils/>.
566556
567557 If you want to complete the configuration process using your problematic
568558 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
604594 done
605595 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
606596
607 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
597 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
608598 #
609599 # This file is free software; the Free Software Foundation
610600 # gives unlimited permission to copy and/or distribute it,
625615 fi
626616 AC_SUBST([install_sh])])
627617
628 # Copyright (C) 2003-2017 Free Software Foundation, Inc.
618 # Copyright (C) 2003-2018 Free Software Foundation, Inc.
629619 #
630620 # This file is free software; the Free Software Foundation
631621 # gives unlimited permission to copy and/or distribute it,
646636
647637 # Check to see how 'make' treats includes. -*- Autoconf -*-
648638
649 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
639 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
650640 #
651641 # This file is free software; the Free Software Foundation
652642 # gives unlimited permission to copy and/or distribute it,
654644
655645 # AM_MAKE_INCLUDE()
656646 # -----------------
657 # Check to see how make treats includes.
647 # Check whether make has an 'include' directive that can support all
648 # the idioms we need for our automatic dependency tracking code.
658649 AC_DEFUN([AM_MAKE_INCLUDE],
659 [am_make=${MAKE-make}
660 cat > confinc << 'END'
650 [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
651 cat > confinc.mk << 'END'
661652 am__doit:
662 @echo this is the am__doit target
653 @echo this is the am__doit target >confinc.out
663654 .PHONY: am__doit
664655 END
665 # If we don't find an include directive, just comment out the code.
666 AC_MSG_CHECKING([for style of include used by $am_make])
667656 am__include="#"
668657 am__quote=
669 _am_result=none
670 # First try GNU make style include.
671 echo "include confinc" > confmf
672 # Ignore all kinds of additional output from 'make'.
673 case `$am_make -s -f confmf 2> /dev/null` in #(
674 *the\ am__doit\ target*)
675 am__include=include
676 am__quote=
677 _am_result=GNU
678 ;;
679 esac
680 # Now try BSD make style include.
681 if test "$am__include" = "#"; then
682 echo '.include "confinc"' > confmf
683 case `$am_make -s -f confmf 2> /dev/null` in #(
684 *the\ am__doit\ target*)
685 am__include=.include
686 am__quote="\""
687 _am_result=BSD
688 ;;
689 esac
690 fi
691 AC_SUBST([am__include])
692 AC_SUBST([am__quote])
693 AC_MSG_RESULT([$_am_result])
694 rm -f confinc confmf
695 ])
658 # BSD make does it like this.
659 echo '.include "confinc.mk" # ignored' > confmf.BSD
660 # Other make implementations (GNU, Solaris 10, AIX) do it like this.
661 echo 'include confinc.mk # ignored' > confmf.GNU
662 _am_result=no
663 for s in GNU BSD; do
664 AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
665 AS_CASE([$?:`cat confinc.out 2>/dev/null`],
666 ['0:this is the am__doit target'],
667 [AS_CASE([$s],
668 [BSD], [am__include='.include' am__quote='"'],
669 [am__include='include' am__quote=''])])
670 if test "$am__include" != "#"; then
671 _am_result="yes ($s style)"
672 break
673 fi
674 done
675 rm -f confinc.* confmf.*
676 AC_MSG_RESULT([${_am_result}])
677 AC_SUBST([am__include])])
678 AC_SUBST([am__quote])])
696679
697680 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
698681
699 # Copyright (C) 1997-2017 Free Software Foundation, Inc.
682 # Copyright (C) 1997-2018 Free Software Foundation, Inc.
700683 #
701684 # This file is free software; the Free Software Foundation
702685 # gives unlimited permission to copy and/or distribute it,
735718
736719 # Helper functions for option handling. -*- Autoconf -*-
737720
738 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
721 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
739722 #
740723 # This file is free software; the Free Software Foundation
741724 # gives unlimited permission to copy and/or distribute it,
764747 AC_DEFUN([_AM_IF_OPTION],
765748 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
766749
767 # Copyright (C) 1999-2017 Free Software Foundation, Inc.
750 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
768751 #
769752 # This file is free software; the Free Software Foundation
770753 # gives unlimited permission to copy and/or distribute it,
811794 # For backward compatibility.
812795 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
813796
814 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
797 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
815798 #
816799 # This file is free software; the Free Software Foundation
817800 # gives unlimited permission to copy and/or distribute it,
830813
831814 # Check to make sure that the build environment is sane. -*- Autoconf -*-
832815
833 # Copyright (C) 1996-2017 Free Software Foundation, Inc.
816 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
834817 #
835818 # This file is free software; the Free Software Foundation
836819 # gives unlimited permission to copy and/or distribute it,
911894 rm -f conftest.file
912895 ])
913896
914 # Copyright (C) 2009-2017 Free Software Foundation, Inc.
897 # Copyright (C) 2009-2018 Free Software Foundation, Inc.
915898 #
916899 # This file is free software; the Free Software Foundation
917900 # gives unlimited permission to copy and/or distribute it,
971954 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
972955 ])
973956
974 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
957 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
975958 #
976959 # This file is free software; the Free Software Foundation
977960 # gives unlimited permission to copy and/or distribute it,
999982 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1000983 AC_SUBST([INSTALL_STRIP_PROGRAM])])
1001984
1002 # Copyright (C) 2006-2017 Free Software Foundation, Inc.
985 # Copyright (C) 2006-2018 Free Software Foundation, Inc.
1003986 #
1004987 # This file is free software; the Free Software Foundation
1005988 # gives unlimited permission to copy and/or distribute it,
10181001
10191002 # Check how to create a tarball. -*- Autoconf -*-
10201003
1021 # Copyright (C) 2004-2017 Free Software Foundation, Inc.
1004 # Copyright (C) 2004-2018 Free Software Foundation, Inc.
10221005 #
10231006 # This file is free software; the Free Software Foundation
10241007 # gives unlimited permission to copy and/or distribute it,
00 #! /bin/sh
11 # Wrapper for compilers which do not understand '-c -o'.
22
3 scriptversion=2016-01-11.22; # UTC
4
5 # Copyright (C) 1999-2017 Free Software Foundation, Inc.
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
66 # Written by Tom Tromey <tromey@cygnus.com>.
77 #
88 # This program is free software; you can redistribute it and/or modify
1616 # GNU General Public License for more details.
1717 #
1818 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 # along with this program. If not, see <https://www.gnu.org/licenses/>.
2020
2121 # As a special exception to the GNU General Public License, if you
2222 # distribute this file as part of a program that contains a
339339 # Local Variables:
340340 # mode: shell-script
341341 # sh-indentation: 2
342 # eval: (add-hook 'write-file-hooks 'time-stamp)
342 # eval: (add-hook 'before-save-hook 'time-stamp)
343343 # time-stamp-start: "scriptversion="
344344 # time-stamp-format: "%:y-%02m-%02d.%02H"
345345 # time-stamp-time-zone: "UTC0"
00 #! /bin/sh
11 # Attempt to guess a canonical system name.
2 # Copyright 1992-2017 Free Software Foundation, Inc.
3
4 timestamp='2017-08-08'
2 # Copyright 1992-2018 Free Software Foundation, Inc.
3
4 timestamp='2018-08-29'
55
66 # This file is free software; you can redistribute it and/or modify it
77 # under the terms of the GNU General Public License as published by
1414 # General Public License for more details.
1515 #
1616 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <http://www.gnu.org/licenses/>.
17 # along with this program; if not, see <https://www.gnu.org/licenses/>.
1818 #
1919 # As a special exception to the GNU General Public License, if you
2020 # distribute this file as part of a program that contains a
2626 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
2727 #
2828 # You can get the latest version of this script from:
29 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
29 # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
3030 #
3131 # Please send patches to <config-patches@gnu.org>.
3232
3838
3939 Output the configuration name of the system \`$me' is run on.
4040
41 Operation modes:
41 Options:
4242 -h, --help print this help, then exit
4343 -t, --time-stamp print date of last modification, then exit
4444 -v, --version print version number, then exit
4949 GNU config.guess ($timestamp)
5050
5151 Originally written by Per Bothner.
52 Copyright 1992-2017 Free Software Foundation, Inc.
52 Copyright 1992-2018 Free Software Foundation, Inc.
5353
5454 This is free software; see the source for copying conditions. There is NO
5555 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8383 exit 1
8484 fi
8585
86 trap 'exit 1' 1 2 15
87
8886 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
8987 # compiler to aid in system detection is discouraged as it requires
9088 # temporary files to be created and, as you can see below, it is a
9593
9694 # Portable tmp directory creation inspired by the Autoconf team.
9795
98 set_cc_for_build='
99 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
100 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
101 : ${TMPDIR=/tmp} ;
102 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
103 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
104 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
105 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
106 dummy=$tmp/dummy ;
107 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
108 case $CC_FOR_BUILD,$HOST_CC,$CC in
109 ,,) echo "int x;" > $dummy.c ;
110 for c in cc gcc c89 c99 ; do
111 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
112 CC_FOR_BUILD="$c"; break ;
113 fi ;
114 done ;
115 if test x"$CC_FOR_BUILD" = x ; then
116 CC_FOR_BUILD=no_compiler_found ;
117 fi
118 ;;
119 ,,*) CC_FOR_BUILD=$CC ;;
120 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
121 esac ; set_cc_for_build= ;'
96 tmp=
97 # shellcheck disable=SC2172
98 trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15
99 trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0
100
101 set_cc_for_build() {
102 : "${TMPDIR=/tmp}"
103 # shellcheck disable=SC2039
104 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
105 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
106 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
107 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
108 dummy=$tmp/dummy
109 case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
110 ,,) echo "int x;" > "$dummy.c"
111 for driver in cc gcc c89 c99 ; do
112 if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
113 CC_FOR_BUILD="$driver"
114 break
115 fi
116 done
117 if test x"$CC_FOR_BUILD" = x ; then
118 CC_FOR_BUILD=no_compiler_found
119 fi
120 ;;
121 ,,*) CC_FOR_BUILD=$CC ;;
122 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
123 esac
124 }
122125
123126 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
124127 # (ghazi@noc.rutgers.edu 1994-08-24)
125 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
128 if test -f /.attbin/uname ; then
126129 PATH=$PATH:/.attbin ; export PATH
127130 fi
128131
131134 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
132135 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
133136
134 case "${UNAME_SYSTEM}" in
137 case "$UNAME_SYSTEM" in
135138 Linux|GNU|GNU/*)
136139 # If the system lacks a compiler, then just pick glibc.
137140 # We could probably try harder.
138141 LIBC=gnu
139142
140 eval $set_cc_for_build
141 cat <<-EOF > $dummy.c
143 set_cc_for_build
144 cat <<-EOF > "$dummy.c"
142145 #include <features.h>
143146 #if defined(__UCLIBC__)
144147 LIBC=uclibc
148151 LIBC=gnu
149152 #endif
150153 EOF
151 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
154 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
155
156 # If ldd exists, use it to detect musl libc.
157 if command -v ldd >/dev/null && \
158 ldd --version 2>&1 | grep -q ^musl
159 then
160 LIBC=musl
161 fi
152162 ;;
153163 esac
154164
155165 # Note: order is significant - the case branches are not exclusive.
156166
157 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
167 case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
158168 *:NetBSD:*:*)
159169 # NetBSD (nbsd) targets should (where applicable) match one or
160170 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
168178 # portion of the name. We always set it to "unknown".
169179 sysctl="sysctl -n hw.machine_arch"
170180 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
171 /sbin/$sysctl 2>/dev/null || \
172 /usr/sbin/$sysctl 2>/dev/null || \
181 "/sbin/$sysctl" 2>/dev/null || \
182 "/usr/sbin/$sysctl" 2>/dev/null || \
173183 echo unknown)`
174 case "${UNAME_MACHINE_ARCH}" in
184 case "$UNAME_MACHINE_ARCH" in
175185 armeb) machine=armeb-unknown ;;
176186 arm*) machine=arm-unknown ;;
177187 sh3el) machine=shl-unknown ;;
178188 sh3eb) machine=sh-unknown ;;
179189 sh5el) machine=sh5le-unknown ;;
180190 earmv*)
181 arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
182 endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
183 machine=${arch}${endian}-unknown
191 arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
192 endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
193 machine="${arch}${endian}"-unknown
184194 ;;
185 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
195 *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
186196 esac
187197 # The Operating System including object format, if it has switched
188198 # to ELF recently (or will in the future) and ABI.
189 case "${UNAME_MACHINE_ARCH}" in
199 case "$UNAME_MACHINE_ARCH" in
190200 earm*)
191201 os=netbsdelf
192202 ;;
193203 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
194 eval $set_cc_for_build
204 set_cc_for_build
195205 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
196206 | grep -q __ELF__
197207 then
207217 ;;
208218 esac
209219 # Determine ABI tags.
210 case "${UNAME_MACHINE_ARCH}" in
220 case "$UNAME_MACHINE_ARCH" in
211221 earm*)
212222 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
213 abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
223 abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
214224 ;;
215225 esac
216226 # The OS release
218228 # thus, need a distinct triplet. However, they do not need
219229 # kernel version information, so it can be replaced with a
220230 # suitable tag, in the style of linux-gnu.
221 case "${UNAME_VERSION}" in
231 case "$UNAME_VERSION" in
222232 Debian*)
223233 release='-gnu'
224234 ;;
225235 *)
226 release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
236 release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
227237 ;;
228238 esac
229239 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
230240 # contains redundant information, the shorter form:
231241 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
232 echo "${machine}-${os}${release}${abi}"
242 echo "$machine-${os}${release}${abi-}"
233243 exit ;;
234244 *:Bitrig:*:*)
235245 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
236 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
246 echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
237247 exit ;;
238248 *:OpenBSD:*:*)
239249 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
240 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
250 echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
241251 exit ;;
242252 *:LibertyBSD:*:*)
243253 UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
244 echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
254 echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
255 exit ;;
256 *:MidnightBSD:*:*)
257 echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
245258 exit ;;
246259 *:ekkoBSD:*:*)
247 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
260 echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
248261 exit ;;
249262 *:SolidBSD:*:*)
250 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
263 echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
251264 exit ;;
252265 macppc:MirBSD:*:*)
253 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
266 echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
254267 exit ;;
255268 *:MirBSD:*:*)
256 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
269 echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
257270 exit ;;
258271 *:Sortix:*:*)
259 echo ${UNAME_MACHINE}-unknown-sortix
272 echo "$UNAME_MACHINE"-unknown-sortix
260273 exit ;;
261274 *:Redox:*:*)
262 echo ${UNAME_MACHINE}-unknown-redox
263 exit ;;
275 echo "$UNAME_MACHINE"-unknown-redox
276 exit ;;
277 mips:OSF1:*.*)
278 echo mips-dec-osf1
279 exit ;;
264280 alpha:OSF1:*:*)
265281 case $UNAME_RELEASE in
266282 *4.0)
312328 # A Tn.n version is a released field test version.
313329 # A Xn.n version is an unreleased experimental baselevel.
314330 # 1.2 uses "1.2" for uname -r.
315 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
331 echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
316332 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
317333 exitcode=$?
318334 trap '' 0
319335 exit $exitcode ;;
320 Alpha\ *:Windows_NT*:*)
321 # How do we know it's Interix rather than the generic POSIX subsystem?
322 # Should we change UNAME_MACHINE based on the output of uname instead
323 # of the specific Alpha model?
324 echo alpha-pc-interix
325 exit ;;
326 21064:Windows_NT:50:3)
327 echo alpha-dec-winnt3.5
328 exit ;;
329336 Amiga*:UNIX_System_V:4.0:*)
330337 echo m68k-unknown-sysv4
331338 exit ;;
332339 *:[Aa]miga[Oo][Ss]:*:*)
333 echo ${UNAME_MACHINE}-unknown-amigaos
340 echo "$UNAME_MACHINE"-unknown-amigaos
334341 exit ;;
335342 *:[Mm]orph[Oo][Ss]:*:*)
336 echo ${UNAME_MACHINE}-unknown-morphos
343 echo "$UNAME_MACHINE"-unknown-morphos
337344 exit ;;
338345 *:OS/390:*:*)
339346 echo i370-ibm-openedition
345352 echo powerpc-ibm-os400
346353 exit ;;
347354 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
348 echo arm-acorn-riscix${UNAME_RELEASE}
355 echo arm-acorn-riscix"$UNAME_RELEASE"
349356 exit ;;
350357 arm*:riscos:*:*|arm*:RISCOS:*:*)
351358 echo arm-unknown-riscos
372379 sparc) echo sparc-icl-nx7; exit ;;
373380 esac ;;
374381 s390x:SunOS:*:*)
375 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
382 echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
376383 exit ;;
377384 sun4H:SunOS:5.*:*)
378 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
385 echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
379386 exit ;;
380387 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
381 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
388 echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
382389 exit ;;
383390 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
384 echo i386-pc-auroraux${UNAME_RELEASE}
391 echo i386-pc-auroraux"$UNAME_RELEASE"
385392 exit ;;
386393 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
387 eval $set_cc_for_build
388 SUN_ARCH=i386
389 # If there is a compiler, see if it is configured for 64-bit objects.
390 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
391 # This test works for both compilers.
392 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
393 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
394 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
395 grep IS_64BIT_ARCH >/dev/null
396 then
397 SUN_ARCH=x86_64
398 fi
399 fi
400 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
394 UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
395 case `isainfo -b` in
396 32)
397 echo i386-pc-solaris2"$UNAME_REL"
398 ;;
399 64)
400 echo x86_64-pc-solaris2"$UNAME_REL"
401 ;;
402 esac
401403 exit ;;
402404 sun4*:SunOS:6*:*)
403405 # According to config.sub, this is the proper way to canonicalize
404406 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
405407 # it's likely to be more like Solaris than SunOS4.
406 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
408 echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
407409 exit ;;
408410 sun4*:SunOS:*:*)
409411 case "`/usr/bin/arch -k`" in
412414 ;;
413415 esac
414416 # Japanese Language versions have a version number like `4.1.3-JL'.
415 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
417 echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
416418 exit ;;
417419 sun3*:SunOS:*:*)
418 echo m68k-sun-sunos${UNAME_RELEASE}
420 echo m68k-sun-sunos"$UNAME_RELEASE"
419421 exit ;;
420422 sun*:*:4.2BSD:*)
421423 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
422 test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
424 test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
423425 case "`/bin/arch`" in
424426 sun3)
425 echo m68k-sun-sunos${UNAME_RELEASE}
427 echo m68k-sun-sunos"$UNAME_RELEASE"
426428 ;;
427429 sun4)
428 echo sparc-sun-sunos${UNAME_RELEASE}
430 echo sparc-sun-sunos"$UNAME_RELEASE"
429431 ;;
430432 esac
431433 exit ;;
432434 aushp:SunOS:*:*)
433 echo sparc-auspex-sunos${UNAME_RELEASE}
435 echo sparc-auspex-sunos"$UNAME_RELEASE"
434436 exit ;;
435437 # The situation for MiNT is a little confusing. The machine name
436438 # can be virtually everything (everything which is not
441443 # MiNT. But MiNT is downward compatible to TOS, so this should
442444 # be no problem.
443445 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
444 echo m68k-atari-mint${UNAME_RELEASE}
446 echo m68k-atari-mint"$UNAME_RELEASE"
445447 exit ;;
446448 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
447 echo m68k-atari-mint${UNAME_RELEASE}
449 echo m68k-atari-mint"$UNAME_RELEASE"
448450 exit ;;
449451 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
450 echo m68k-atari-mint${UNAME_RELEASE}
452 echo m68k-atari-mint"$UNAME_RELEASE"
451453 exit ;;
452454 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
453 echo m68k-milan-mint${UNAME_RELEASE}
455 echo m68k-milan-mint"$UNAME_RELEASE"
454456 exit ;;
455457 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
456 echo m68k-hades-mint${UNAME_RELEASE}
458 echo m68k-hades-mint"$UNAME_RELEASE"
457459 exit ;;
458460 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
459 echo m68k-unknown-mint${UNAME_RELEASE}
461 echo m68k-unknown-mint"$UNAME_RELEASE"
460462 exit ;;
461463 m68k:machten:*:*)
462 echo m68k-apple-machten${UNAME_RELEASE}
464 echo m68k-apple-machten"$UNAME_RELEASE"
463465 exit ;;
464466 powerpc:machten:*:*)
465 echo powerpc-apple-machten${UNAME_RELEASE}
467 echo powerpc-apple-machten"$UNAME_RELEASE"
466468 exit ;;
467469 RISC*:Mach:*:*)
468470 echo mips-dec-mach_bsd4.3
469471 exit ;;
470472 RISC*:ULTRIX:*:*)
471 echo mips-dec-ultrix${UNAME_RELEASE}
473 echo mips-dec-ultrix"$UNAME_RELEASE"
472474 exit ;;
473475 VAX*:ULTRIX*:*:*)
474 echo vax-dec-ultrix${UNAME_RELEASE}
476 echo vax-dec-ultrix"$UNAME_RELEASE"
475477 exit ;;
476478 2020:CLIX:*:* | 2430:CLIX:*:*)
477 echo clipper-intergraph-clix${UNAME_RELEASE}
479 echo clipper-intergraph-clix"$UNAME_RELEASE"
478480 exit ;;
479481 mips:*:*:UMIPS | mips:*:*:RISCos)
480 eval $set_cc_for_build
481 sed 's/^ //' << EOF >$dummy.c
482 set_cc_for_build
483 sed 's/^ //' << EOF > "$dummy.c"
482484 #ifdef __cplusplus
483485 #include <stdio.h> /* for printf() prototype */
484486 int main (int argc, char *argv[]) {
487489 #endif
488490 #if defined (host_mips) && defined (MIPSEB)
489491 #if defined (SYSTYPE_SYSV)
490 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
492 printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
491493 #endif
492494 #if defined (SYSTYPE_SVR4)
493 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
495 printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
494496 #endif
495497 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
496 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
498 printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
497499 #endif
498500 #endif
499501 exit (-1);
500502 }
501503 EOF
502 $CC_FOR_BUILD -o $dummy $dummy.c &&
503 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
504 SYSTEM_NAME=`$dummy $dummyarg` &&
504 $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
505 dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
506 SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
505507 { echo "$SYSTEM_NAME"; exit; }
506 echo mips-mips-riscos${UNAME_RELEASE}
508 echo mips-mips-riscos"$UNAME_RELEASE"
507509 exit ;;
508510 Motorola:PowerMAX_OS:*:*)
509511 echo powerpc-motorola-powermax
529531 AViiON:dgux:*:*)
530532 # DG/UX returns AViiON for all architectures
531533 UNAME_PROCESSOR=`/usr/bin/uname -p`
532 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
534 if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
533535 then
534 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
535 [ ${TARGET_BINARY_INTERFACE}x = x ]
536 if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
537 [ "$TARGET_BINARY_INTERFACE"x = x ]
536538 then
537 echo m88k-dg-dgux${UNAME_RELEASE}
539 echo m88k-dg-dgux"$UNAME_RELEASE"
538540 else
539 echo m88k-dg-dguxbcs${UNAME_RELEASE}
541 echo m88k-dg-dguxbcs"$UNAME_RELEASE"
540542 fi
541543 else
542 echo i586-dg-dgux${UNAME_RELEASE}
544 echo i586-dg-dgux"$UNAME_RELEASE"
543545 fi
544546 exit ;;
545547 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
556558 echo m68k-tektronix-bsd
557559 exit ;;
558560 *:IRIX*:*:*)
559 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
561 echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
560562 exit ;;
561563 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
562564 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
568570 if [ -x /usr/bin/oslevel ] ; then
569571 IBM_REV=`/usr/bin/oslevel`
570572 else
571 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
572 fi
573 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
573 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
574 fi
575 echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
574576 exit ;;
575577 *:AIX:2:3)
576578 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
577 eval $set_cc_for_build
578 sed 's/^ //' << EOF >$dummy.c
579 set_cc_for_build
580 sed 's/^ //' << EOF > "$dummy.c"
579581 #include <sys/systemcfg.h>
580582
581583 main()
586588 exit(0);
587589 }
588590 EOF
589 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
591 if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
590592 then
591593 echo "$SYSTEM_NAME"
592594 else
600602 exit ;;
601603 *:AIX:*:[4567])
602604 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
603 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
605 if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
604606 IBM_ARCH=rs6000
605607 else
606608 IBM_ARCH=powerpc
609611 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
610612 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
611613 else
612 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
613 fi
614 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
614 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
615 fi
616 echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
615617 exit ;;
616618 *:AIX:*:*)
617619 echo rs6000-ibm-aix
618620 exit ;;
619 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
621 ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
620622 echo romp-ibm-bsd4.4
621623 exit ;;
622624 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
623 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
625 echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
624626 exit ;; # report: romp-ibm BSD 4.3
625627 *:BOSX:*:*)
626628 echo rs6000-bull-bosx
635637 echo m68k-hp-bsd4.4
636638 exit ;;
637639 9000/[34678]??:HP-UX:*:*)
638 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
639 case "${UNAME_MACHINE}" in
640 9000/31? ) HP_ARCH=m68000 ;;
641 9000/[34]?? ) HP_ARCH=m68k ;;
640 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
641 case "$UNAME_MACHINE" in
642 9000/31?) HP_ARCH=m68000 ;;
643 9000/[34]??) HP_ARCH=m68k ;;
642644 9000/[678][0-9][0-9])
643645 if [ -x /usr/bin/getconf ]; then
644646 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
645647 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
646 case "${sc_cpu_version}" in
648 case "$sc_cpu_version" in
647649 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
648650 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
649651 532) # CPU_PA_RISC2_0
650 case "${sc_kernel_bits}" in
652 case "$sc_kernel_bits" in
651653 32) HP_ARCH=hppa2.0n ;;
652654 64) HP_ARCH=hppa2.0w ;;
653655 '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
654656 esac ;;
655657 esac
656658 fi
657 if [ "${HP_ARCH}" = "" ]; then
658 eval $set_cc_for_build
659 sed 's/^ //' << EOF >$dummy.c
659 if [ "$HP_ARCH" = "" ]; then
660 set_cc_for_build
661 sed 's/^ //' << EOF > "$dummy.c"
660662
661663 #define _HPUX_SOURCE
662664 #include <stdlib.h>
689691 exit (0);
690692 }
691693 EOF
692 (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
694 (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
693695 test -z "$HP_ARCH" && HP_ARCH=hppa
694696 fi ;;
695697 esac
696 if [ ${HP_ARCH} = hppa2.0w ]
698 if [ "$HP_ARCH" = hppa2.0w ]
697699 then
698 eval $set_cc_for_build
700 set_cc_for_build
699701
700702 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
701703 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
714716 HP_ARCH=hppa64
715717 fi
716718 fi
717 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
719 echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
718720 exit ;;
719721 ia64:HP-UX:*:*)
720 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
721 echo ia64-hp-hpux${HPUX_REV}
722 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
723 echo ia64-hp-hpux"$HPUX_REV"
722724 exit ;;
723725 3050*:HI-UX:*:*)
724 eval $set_cc_for_build
725 sed 's/^ //' << EOF >$dummy.c
726 set_cc_for_build
727 sed 's/^ //' << EOF > "$dummy.c"
726728 #include <unistd.h>
727729 int
728730 main ()
747749 exit (0);
748750 }
749751 EOF
750 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
752 $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
751753 { echo "$SYSTEM_NAME"; exit; }
752754 echo unknown-hitachi-hiuxwe2
753755 exit ;;
754 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
756 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
755757 echo hppa1.1-hp-bsd
756758 exit ;;
757759 9000/8??:4.3bsd:*:*)
760762 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
761763 echo hppa1.0-hp-mpeix
762764 exit ;;
763 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
765 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
764766 echo hppa1.1-hp-osf
765767 exit ;;
766768 hp8??:OSF1:*:*)
768770 exit ;;
769771 i*86:OSF1:*:*)
770772 if [ -x /usr/sbin/sysversion ] ; then
771 echo ${UNAME_MACHINE}-unknown-osf1mk
773 echo "$UNAME_MACHINE"-unknown-osf1mk
772774 else
773 echo ${UNAME_MACHINE}-unknown-osf1
775 echo "$UNAME_MACHINE"-unknown-osf1
774776 fi
775777 exit ;;
776778 parisc*:Lites*:*:*)
795797 echo c4-convex-bsd
796798 exit ;;
797799 CRAY*Y-MP:*:*:*)
798 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
800 echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
799801 exit ;;
800802 CRAY*[A-Z]90:*:*:*)
801 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
803 echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
802804 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
803805 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
804806 -e 's/\.[^.]*$/.X/'
805807 exit ;;
806808 CRAY*TS:*:*:*)
807 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
809 echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
808810 exit ;;
809811 CRAY*T3E:*:*:*)
810 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
812 echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
811813 exit ;;
812814 CRAY*SV1:*:*:*)
813 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
815 echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
814816 exit ;;
815817 *:UNICOS/mp:*:*)
816 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
818 echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
817819 exit ;;
818820 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
819821 FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
820822 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
821 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
823 FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
822824 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
823825 exit ;;
824826 5000:UNIX_System_V:4.*:*)
825827 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
826 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
828 FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
827829 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
828830 exit ;;
829831 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
830 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
832 echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
831833 exit ;;
832834 sparc*:BSD/OS:*:*)
833 echo sparc-unknown-bsdi${UNAME_RELEASE}
835 echo sparc-unknown-bsdi"$UNAME_RELEASE"
834836 exit ;;
835837 *:BSD/OS:*:*)
836 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
838 echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
839 exit ;;
840 arm:FreeBSD:*:*)
841 UNAME_PROCESSOR=`uname -p`
842 set_cc_for_build
843 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
844 | grep -q __ARM_PCS_VFP
845 then
846 echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
847 else
848 echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
849 fi
837850 exit ;;
838851 *:FreeBSD:*:*)
839852 UNAME_PROCESSOR=`/usr/bin/uname -p`
840 case ${UNAME_PROCESSOR} in
853 case "$UNAME_PROCESSOR" in
841854 amd64)
842855 UNAME_PROCESSOR=x86_64 ;;
843856 i386)
844857 UNAME_PROCESSOR=i586 ;;
845858 esac
846 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
859 echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
847860 exit ;;
848861 i*:CYGWIN*:*)
849 echo ${UNAME_MACHINE}-pc-cygwin
862 echo "$UNAME_MACHINE"-pc-cygwin
850863 exit ;;
851864 *:MINGW64*:*)
852 echo ${UNAME_MACHINE}-pc-mingw64
865 echo "$UNAME_MACHINE"-pc-mingw64
853866 exit ;;
854867 *:MINGW*:*)
855 echo ${UNAME_MACHINE}-pc-mingw32
868 echo "$UNAME_MACHINE"-pc-mingw32
856869 exit ;;
857870 *:MSYS*:*)
858 echo ${UNAME_MACHINE}-pc-msys
859 exit ;;
860 i*:windows32*:*)
861 # uname -m includes "-pc" on this system.
862 echo ${UNAME_MACHINE}-mingw32
871 echo "$UNAME_MACHINE"-pc-msys
863872 exit ;;
864873 i*:PW*:*)
865 echo ${UNAME_MACHINE}-pc-pw32
874 echo "$UNAME_MACHINE"-pc-pw32
866875 exit ;;
867876 *:Interix*:*)
868 case ${UNAME_MACHINE} in
877 case "$UNAME_MACHINE" in
869878 x86)
870 echo i586-pc-interix${UNAME_RELEASE}
879 echo i586-pc-interix"$UNAME_RELEASE"
871880 exit ;;
872881 authenticamd | genuineintel | EM64T)
873 echo x86_64-unknown-interix${UNAME_RELEASE}
882 echo x86_64-unknown-interix"$UNAME_RELEASE"
874883 exit ;;
875884 IA64)
876 echo ia64-unknown-interix${UNAME_RELEASE}
885 echo ia64-unknown-interix"$UNAME_RELEASE"
877886 exit ;;
878887 esac ;;
879 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
880 echo i${UNAME_MACHINE}-pc-mks
881 exit ;;
882 8664:Windows_NT:*)
883 echo x86_64-pc-mks
884 exit ;;
885 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
886 # How do we know it's Interix rather than the generic POSIX subsystem?
887 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
888 # UNAME_MACHINE based on the output of uname instead of i386?
889 echo i586-pc-interix
890 exit ;;
891888 i*:UWIN*:*)
892 echo ${UNAME_MACHINE}-pc-uwin
889 echo "$UNAME_MACHINE"-pc-uwin
893890 exit ;;
894891 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
895892 echo x86_64-unknown-cygwin
896893 exit ;;
897 p*:CYGWIN*:*)
898 echo powerpcle-unknown-cygwin
899 exit ;;
900894 prep*:SunOS:5.*:*)
901 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
895 echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
902896 exit ;;
903897 *:GNU:*:*)
904898 # the GNU system
905 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
899 echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
906900 exit ;;
907901 *:GNU/*:*:*)
908902 # other systems with GNU libc and userland
909 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
910 exit ;;
911 i*86:Minix:*:*)
912 echo ${UNAME_MACHINE}-pc-minix
903 echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
904 exit ;;
905 *:Minix:*:*)
906 echo "$UNAME_MACHINE"-unknown-minix
913907 exit ;;
914908 aarch64:Linux:*:*)
915 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
909 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
916910 exit ;;
917911 aarch64_be:Linux:*:*)
918912 UNAME_MACHINE=aarch64_be
919 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
913 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
920914 exit ;;
921915 alpha:Linux:*:*)
922916 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
930924 esac
931925 objdump --private-headers /bin/sh | grep -q ld.so.1
932926 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
933 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
927 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
934928 exit ;;
935929 arc:Linux:*:* | arceb:Linux:*:*)
936 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
930 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
937931 exit ;;
938932 arm*:Linux:*:*)
939 eval $set_cc_for_build
933 set_cc_for_build
940934 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
941935 | grep -q __ARM_EABI__
942936 then
943 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
937 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
944938 else
945939 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
946940 | grep -q __ARM_PCS_VFP
947941 then
948 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
942 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
949943 else
950 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
944 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
951945 fi
952946 fi
953947 exit ;;
954948 avr32*:Linux:*:*)
955 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
949 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
956950 exit ;;
957951 cris:Linux:*:*)
958 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
952 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
959953 exit ;;
960954 crisv32:Linux:*:*)
961 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
955 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
962956 exit ;;
963957 e2k:Linux:*:*)
964 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
958 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
965959 exit ;;
966960 frv:Linux:*:*)
967 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
961 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
968962 exit ;;
969963 hexagon:Linux:*:*)
970 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
964 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
971965 exit ;;
972966 i*86:Linux:*:*)
973 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
967 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
974968 exit ;;
975969 ia64:Linux:*:*)
976 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
970 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
977971 exit ;;
978972 k1om:Linux:*:*)
979 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
973 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
980974 exit ;;
981975 m32r*:Linux:*:*)
982 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
976 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
983977 exit ;;
984978 m68*:Linux:*:*)
985 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
979 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
986980 exit ;;
987981 mips:Linux:*:* | mips64:Linux:*:*)
988 eval $set_cc_for_build
989 sed 's/^ //' << EOF >$dummy.c
982 set_cc_for_build
983 sed 's/^ //' << EOF > "$dummy.c"
990984 #undef CPU
991985 #undef ${UNAME_MACHINE}
992986 #undef ${UNAME_MACHINE}el
1000994 #endif
1001995 #endif
1002996 EOF
1003 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
1004 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
997 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
998 test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
1005999 ;;
10061000 mips64el:Linux:*:*)
1007 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1001 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10081002 exit ;;
10091003 openrisc*:Linux:*:*)
1010 echo or1k-unknown-linux-${LIBC}
1004 echo or1k-unknown-linux-"$LIBC"
10111005 exit ;;
10121006 or32:Linux:*:* | or1k*:Linux:*:*)
1013 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1007 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10141008 exit ;;
10151009 padre:Linux:*:*)
1016 echo sparc-unknown-linux-${LIBC}
1010 echo sparc-unknown-linux-"$LIBC"
10171011 exit ;;
10181012 parisc64:Linux:*:* | hppa64:Linux:*:*)
1019 echo hppa64-unknown-linux-${LIBC}
1013 echo hppa64-unknown-linux-"$LIBC"
10201014 exit ;;
10211015 parisc:Linux:*:* | hppa:Linux:*:*)
10221016 # Look for CPU level
10231017 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1024 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1025 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1026 *) echo hppa-unknown-linux-${LIBC} ;;
1018 PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
1019 PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
1020 *) echo hppa-unknown-linux-"$LIBC" ;;
10271021 esac
10281022 exit ;;
10291023 ppc64:Linux:*:*)
1030 echo powerpc64-unknown-linux-${LIBC}
1024 echo powerpc64-unknown-linux-"$LIBC"
10311025 exit ;;
10321026 ppc:Linux:*:*)
1033 echo powerpc-unknown-linux-${LIBC}
1027 echo powerpc-unknown-linux-"$LIBC"
10341028 exit ;;
10351029 ppc64le:Linux:*:*)
1036 echo powerpc64le-unknown-linux-${LIBC}
1030 echo powerpc64le-unknown-linux-"$LIBC"
10371031 exit ;;
10381032 ppcle:Linux:*:*)
1039 echo powerpcle-unknown-linux-${LIBC}
1033 echo powerpcle-unknown-linux-"$LIBC"
10401034 exit ;;
10411035 riscv32:Linux:*:* | riscv64:Linux:*:*)
1042 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1036 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10431037 exit ;;
10441038 s390:Linux:*:* | s390x:Linux:*:*)
1045 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1039 echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
10461040 exit ;;
10471041 sh64*:Linux:*:*)
1048 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1042 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10491043 exit ;;
10501044 sh*:Linux:*:*)
1051 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1045 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10521046 exit ;;
10531047 sparc:Linux:*:* | sparc64:Linux:*:*)
1054 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1048 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10551049 exit ;;
10561050 tile*:Linux:*:*)
1057 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1051 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10581052 exit ;;
10591053 vax:Linux:*:*)
1060 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1054 echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
10611055 exit ;;
10621056 x86_64:Linux:*:*)
1063 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
1057 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
10641058 exit ;;
10651059 xtensa*:Linux:*:*)
1066 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1060 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10671061 exit ;;
10681062 i*86:DYNIX/ptx:4*:*)
10691063 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
10771071 # I am not positive that other SVR4 systems won't match this,
10781072 # I just have to hope. -- rms.
10791073 # Use sysv4.2uw... so that sysv4* matches it.
1080 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1074 echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
10811075 exit ;;
10821076 i*86:OS/2:*:*)
10831077 # If we were able to find `uname', then EMX Unix compatibility
10841078 # is probably installed.
1085 echo ${UNAME_MACHINE}-pc-os2-emx
1079 echo "$UNAME_MACHINE"-pc-os2-emx
10861080 exit ;;
10871081 i*86:XTS-300:*:STOP)
1088 echo ${UNAME_MACHINE}-unknown-stop
1082 echo "$UNAME_MACHINE"-unknown-stop
10891083 exit ;;
10901084 i*86:atheos:*:*)
1091 echo ${UNAME_MACHINE}-unknown-atheos
1085 echo "$UNAME_MACHINE"-unknown-atheos
10921086 exit ;;
10931087 i*86:syllable:*:*)
1094 echo ${UNAME_MACHINE}-pc-syllable
1088 echo "$UNAME_MACHINE"-pc-syllable
10951089 exit ;;
10961090 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1097 echo i386-unknown-lynxos${UNAME_RELEASE}
1091 echo i386-unknown-lynxos"$UNAME_RELEASE"
10981092 exit ;;
10991093 i*86:*DOS:*:*)
1100 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1101 exit ;;
1102 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1103 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1094 echo "$UNAME_MACHINE"-pc-msdosdjgpp
1095 exit ;;
1096 i*86:*:4.*:*)
1097 UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
11041098 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1105 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1099 echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
11061100 else
1107 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1101 echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
11081102 fi
11091103 exit ;;
11101104 i*86:*:5:[678]*)
11141108 *Pentium) UNAME_MACHINE=i586 ;;
11151109 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
11161110 esac
1117 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1111 echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
11181112 exit ;;
11191113 i*86:*:3.2:*)
11201114 if test -f /usr/options/cb.name; then
11211115 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1122 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1116 echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
11231117 elif /bin/uname -X 2>/dev/null >/dev/null ; then
11241118 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
11251119 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
11291123 && UNAME_MACHINE=i686
11301124 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
11311125 && UNAME_MACHINE=i686
1132 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1126 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
11331127 else
1134 echo ${UNAME_MACHINE}-pc-sysv32
1128 echo "$UNAME_MACHINE"-pc-sysv32
11351129 fi
11361130 exit ;;
11371131 pc:*:*:*)
11511145 exit ;;
11521146 i860:*:4.*:*) # i860-SVR4
11531147 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1154 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1148 echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
11551149 else # Add other i860-SVR4 vendors below as they are discovered.
1156 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1150 echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
11571151 fi
11581152 exit ;;
11591153 mini*:CTIX:SYS*5:*)
11731167 test -r /etc/.relid \
11741168 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11751169 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1176 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1170 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
11771171 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1178 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1172 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
11791173 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11801174 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11811175 && { echo i486-ncr-sysv4; exit; } ;;
11841178 test -r /etc/.relid \
11851179 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11861180 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1187 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1181 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
11881182 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1189 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1183 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
11901184 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1191 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1185 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
11921186 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1193 echo m68k-unknown-lynxos${UNAME_RELEASE}
1187 echo m68k-unknown-lynxos"$UNAME_RELEASE"
11941188 exit ;;
11951189 mc68030:UNIX_System_V:4.*:*)
11961190 echo m68k-atari-sysv4
11971191 exit ;;
11981192 TSUNAMI:LynxOS:2.*:*)
1199 echo sparc-unknown-lynxos${UNAME_RELEASE}
1193 echo sparc-unknown-lynxos"$UNAME_RELEASE"
12001194 exit ;;
12011195 rs6000:LynxOS:2.*:*)
1202 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1196 echo rs6000-unknown-lynxos"$UNAME_RELEASE"
12031197 exit ;;
12041198 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1205 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1199 echo powerpc-unknown-lynxos"$UNAME_RELEASE"
12061200 exit ;;
12071201 SM[BE]S:UNIX_SV:*:*)
1208 echo mips-dde-sysv${UNAME_RELEASE}
1202 echo mips-dde-sysv"$UNAME_RELEASE"
12091203 exit ;;
12101204 RM*:ReliantUNIX-*:*:*)
12111205 echo mips-sni-sysv4
12161210 *:SINIX-*:*:*)
12171211 if uname -p 2>/dev/null >/dev/null ; then
12181212 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1219 echo ${UNAME_MACHINE}-sni-sysv4
1213 echo "$UNAME_MACHINE"-sni-sysv4
12201214 else
12211215 echo ns32k-sni-sysv
12221216 fi
12361230 exit ;;
12371231 i*86:VOS:*:*)
12381232 # From Paul.Green@stratus.com.
1239 echo ${UNAME_MACHINE}-stratus-vos
1233 echo "$UNAME_MACHINE"-stratus-vos
12401234 exit ;;
12411235 *:VOS:*:*)
12421236 # From Paul.Green@stratus.com.
12431237 echo hppa1.1-stratus-vos
12441238 exit ;;
12451239 mc68*:A/UX:*:*)
1246 echo m68k-apple-aux${UNAME_RELEASE}
1240 echo m68k-apple-aux"$UNAME_RELEASE"
12471241 exit ;;
12481242 news*:NEWS-OS:6*:*)
12491243 echo mips-sony-newsos6
12501244 exit ;;
12511245 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12521246 if [ -d /usr/nec ]; then
1253 echo mips-nec-sysv${UNAME_RELEASE}
1247 echo mips-nec-sysv"$UNAME_RELEASE"
12541248 else
1255 echo mips-unknown-sysv${UNAME_RELEASE}
1249 echo mips-unknown-sysv"$UNAME_RELEASE"
12561250 fi
12571251 exit ;;
12581252 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
12711265 echo x86_64-unknown-haiku
12721266 exit ;;
12731267 SX-4:SUPER-UX:*:*)
1274 echo sx4-nec-superux${UNAME_RELEASE}
1268 echo sx4-nec-superux"$UNAME_RELEASE"
12751269 exit ;;
12761270 SX-5:SUPER-UX:*:*)
1277 echo sx5-nec-superux${UNAME_RELEASE}
1271 echo sx5-nec-superux"$UNAME_RELEASE"
12781272 exit ;;
12791273 SX-6:SUPER-UX:*:*)
1280 echo sx6-nec-superux${UNAME_RELEASE}
1274 echo sx6-nec-superux"$UNAME_RELEASE"
12811275 exit ;;
12821276 SX-7:SUPER-UX:*:*)
1283 echo sx7-nec-superux${UNAME_RELEASE}
1277 echo sx7-nec-superux"$UNAME_RELEASE"
12841278 exit ;;
12851279 SX-8:SUPER-UX:*:*)
1286 echo sx8-nec-superux${UNAME_RELEASE}
1280 echo sx8-nec-superux"$UNAME_RELEASE"
12871281 exit ;;
12881282 SX-8R:SUPER-UX:*:*)
1289 echo sx8r-nec-superux${UNAME_RELEASE}
1283 echo sx8r-nec-superux"$UNAME_RELEASE"
12901284 exit ;;
12911285 SX-ACE:SUPER-UX:*:*)
1292 echo sxace-nec-superux${UNAME_RELEASE}
1286 echo sxace-nec-superux"$UNAME_RELEASE"
12931287 exit ;;
12941288 Power*:Rhapsody:*:*)
1295 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1289 echo powerpc-apple-rhapsody"$UNAME_RELEASE"
12961290 exit ;;
12971291 *:Rhapsody:*:*)
1298 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1292 echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
12991293 exit ;;
13001294 *:Darwin:*:*)
13011295 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1302 eval $set_cc_for_build
1296 set_cc_for_build
13031297 if test "$UNAME_PROCESSOR" = unknown ; then
13041298 UNAME_PROCESSOR=powerpc
13051299 fi
1306 if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1300 if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
13071301 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
13081302 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
13091303 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
13311325 # that Apple uses in portable devices.
13321326 UNAME_PROCESSOR=x86_64
13331327 fi
1334 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1328 echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
13351329 exit ;;
13361330 *:procnto*:*:* | *:QNX:[0123456789]*:*)
13371331 UNAME_PROCESSOR=`uname -p`
13391333 UNAME_PROCESSOR=i386
13401334 UNAME_MACHINE=pc
13411335 fi
1342 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1336 echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
13431337 exit ;;
13441338 *:QNX:*:4*)
13451339 echo i386-pc-qnx
13461340 exit ;;
13471341 NEO-*:NONSTOP_KERNEL:*:*)
1348 echo neo-tandem-nsk${UNAME_RELEASE}
1342 echo neo-tandem-nsk"$UNAME_RELEASE"
13491343 exit ;;
13501344 NSE-*:NONSTOP_KERNEL:*:*)
1351 echo nse-tandem-nsk${UNAME_RELEASE}
1345 echo nse-tandem-nsk"$UNAME_RELEASE"
13521346 exit ;;
13531347 NSR-*:NONSTOP_KERNEL:*:*)
1354 echo nsr-tandem-nsk${UNAME_RELEASE}
1348 echo nsr-tandem-nsk"$UNAME_RELEASE"
1349 exit ;;
1350 NSV-*:NONSTOP_KERNEL:*:*)
1351 echo nsv-tandem-nsk"$UNAME_RELEASE"
13551352 exit ;;
13561353 NSX-*:NONSTOP_KERNEL:*:*)
1357 echo nsx-tandem-nsk${UNAME_RELEASE}
1354 echo nsx-tandem-nsk"$UNAME_RELEASE"
13581355 exit ;;
13591356 *:NonStop-UX:*:*)
13601357 echo mips-compaq-nonstopux
13631360 echo bs2000-siemens-sysv
13641361 exit ;;
13651362 DS/*:UNIX_System_V:*:*)
1366 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1363 echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
13671364 exit ;;
13681365 *:Plan9:*:*)
13691366 # "uname -m" is not consistent, so use $cputype instead. 386
13701367 # is converted to i386 for consistency with other x86
13711368 # operating systems.
1369 # shellcheck disable=SC2154
13721370 if test "$cputype" = 386; then
13731371 UNAME_MACHINE=i386
13741372 else
13751373 UNAME_MACHINE="$cputype"
13761374 fi
1377 echo ${UNAME_MACHINE}-unknown-plan9
1375 echo "$UNAME_MACHINE"-unknown-plan9
13781376 exit ;;
13791377 *:TOPS-10:*:*)
13801378 echo pdp10-unknown-tops10
13951393 echo pdp10-unknown-its
13961394 exit ;;
13971395 SEI:*:*:SEIUX)
1398 echo mips-sei-seiux${UNAME_RELEASE}
1396 echo mips-sei-seiux"$UNAME_RELEASE"
13991397 exit ;;
14001398 *:DragonFly:*:*)
1401 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1399 echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
14021400 exit ;;
14031401 *:*VMS:*:*)
14041402 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1405 case "${UNAME_MACHINE}" in
1403 case "$UNAME_MACHINE" in
14061404 A*) echo alpha-dec-vms ; exit ;;
14071405 I*) echo ia64-dec-vms ; exit ;;
14081406 V*) echo vax-dec-vms ; exit ;;
14111409 echo i386-pc-xenix
14121410 exit ;;
14131411 i*86:skyos:*:*)
1414 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
1412 echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
14151413 exit ;;
14161414 i*86:rdos:*:*)
1417 echo ${UNAME_MACHINE}-pc-rdos
1415 echo "$UNAME_MACHINE"-pc-rdos
14181416 exit ;;
14191417 i*86:AROS:*:*)
1420 echo ${UNAME_MACHINE}-pc-aros
1418 echo "$UNAME_MACHINE"-pc-aros
14211419 exit ;;
14221420 x86_64:VMkernel:*:*)
1423 echo ${UNAME_MACHINE}-unknown-esx
1421 echo "$UNAME_MACHINE"-unknown-esx
14241422 exit ;;
14251423 amd64:Isilon\ OneFS:*:*)
14261424 echo x86_64-unknown-onefs
14271425 exit ;;
14281426 esac
14291427
1428 echo "$0: unable to guess system type" >&2
1429
1430 case "$UNAME_MACHINE:$UNAME_SYSTEM" in
1431 mips:Linux | mips64:Linux)
1432 # If we got here on MIPS GNU/Linux, output extra information.
1433 cat >&2 <<EOF
1434
1435 NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1436 the system type. Please install a C compiler and try again.
1437 EOF
1438 ;;
1439 esac
1440
14301441 cat >&2 <<EOF
1431 $0: unable to guess system type
14321442
14331443 This script (version $timestamp), has failed to recognize the
14341444 operating system you are using. If your script is old, overwrite *all*
14351445 copies of config.guess and config.sub with the latest versions from:
14361446
1437 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1447 https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
14381448 and
1439 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1449 https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
14401450
14411451 If $0 has already been updated, send the following data and any
14421452 information you think might be pertinent to config-patches@gnu.org to
14591469 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
14601470 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
14611471
1462 UNAME_MACHINE = ${UNAME_MACHINE}
1463 UNAME_RELEASE = ${UNAME_RELEASE}
1464 UNAME_SYSTEM = ${UNAME_SYSTEM}
1465 UNAME_VERSION = ${UNAME_VERSION}
1472 UNAME_MACHINE = "$UNAME_MACHINE"
1473 UNAME_RELEASE = "$UNAME_RELEASE"
1474 UNAME_SYSTEM = "$UNAME_SYSTEM"
1475 UNAME_VERSION = "$UNAME_VERSION"
14661476 EOF
14671477
14681478 exit 1
14691479
14701480 # Local variables:
1471 # eval: (add-hook 'write-file-hooks 'time-stamp)
1481 # eval: (add-hook 'before-save-hook 'time-stamp)
14721482 # time-stamp-start: "timestamp='"
14731483 # time-stamp-format: "%:y-%02m-%02d"
14741484 # time-stamp-end: "'"
00 #! /bin/sh
11 # Configuration validation subroutine script.
2 # Copyright 1992-2017 Free Software Foundation, Inc.
3
4 timestamp='2017-04-02'
2 # Copyright 1992-2018 Free Software Foundation, Inc.
3
4 timestamp='2018-08-29'
55
66 # This file is free software; you can redistribute it and/or modify it
77 # under the terms of the GNU General Public License as published by
1414 # General Public License for more details.
1515 #
1616 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <http://www.gnu.org/licenses/>.
17 # along with this program; if not, see <https://www.gnu.org/licenses/>.
1818 #
1919 # As a special exception to the GNU General Public License, if you
2020 # distribute this file as part of a program that contains a
3232 # Otherwise, we print the canonical config type on stdout and succeed.
3333
3434 # You can get the latest version of this script from:
35 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
35 # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
3636
3737 # This file is supposed to be the same for all GNU packages
3838 # and recognize all the CPU types, system types and aliases
5656
5757 Canonicalize a configuration name.
5858
59 Operation modes:
59 Options:
6060 -h, --help print this help, then exit
6161 -t, --time-stamp print date of last modification, then exit
6262 -v, --version print version number, then exit
6666 version="\
6767 GNU config.sub ($timestamp)
6868
69 Copyright 1992-2017 Free Software Foundation, Inc.
69 Copyright 1992-2018 Free Software Foundation, Inc.
7070
7171 This is free software; see the source for copying conditions. There is NO
7272 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
9393
9494 *local*)
9595 # First pass through any local machine types.
96 echo $1
96 echo "$1"
9797 exit ;;
9898
9999 * )
109109 exit 1;;
110110 esac
111111
112 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
113 # Here we must recognize all the valid KERNEL-OS combinations.
114 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
115 case $maybe_os in
116 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
117 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
118 knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
119 kopensolaris*-gnu* | cloudabi*-eabi* | \
120 storm-chaos* | os2-emx* | rtmk-nova*)
121 os=-$maybe_os
122 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
123 ;;
124 android-linux)
125 os=-linux-android
126 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
127 ;;
128 *)
129 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
130 if [ $basic_machine != $1 ]
131 then os=`echo $1 | sed 's/.*-/-/'`
132 else os=; fi
133 ;;
112 # Split fields of configuration type
113 IFS="-" read -r field1 field2 field3 field4 <<EOF
114 $1
115 EOF
116
117 # Separate into logical components for further validation
118 case $1 in
119 *-*-*-*-*)
120 echo Invalid configuration \`"$1"\': more than four components >&2
121 exit 1
122 ;;
123 *-*-*-*)
124 basic_machine=$field1-$field2
125 os=$field3-$field4
126 ;;
127 *-*-*)
128 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
129 # parts
130 maybe_os=$field2-$field3
131 case $maybe_os in
132 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
133 | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
134 | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
135 | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
136 | storm-chaos* | os2-emx* | rtmk-nova*)
137 basic_machine=$field1
138 os=$maybe_os
139 ;;
140 android-linux)
141 basic_machine=$field1-unknown
142 os=linux-android
143 ;;
144 *)
145 basic_machine=$field1-$field2
146 os=$field3
147 ;;
148 esac
149 ;;
150 *-*)
151 # A lone config we happen to match not fitting any patern
152 case $field1-$field2 in
153 decstation-3100)
154 basic_machine=mips-dec
155 os=
156 ;;
157 *-*)
158 # Second component is usually, but not always the OS
159 case $field2 in
160 # Prevent following clause from handling this valid os
161 sun*os*)
162 basic_machine=$field1
163 os=$field2
164 ;;
165 # Manufacturers
166 dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
167 | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
168 | unicom* | ibm* | next | hp | isi* | apollo | altos* \
169 | convergent* | ncr* | news | 32* | 3600* | 3100* \
170 | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
171 | ultra | tti* | harris | dolphin | highlevel | gould \
172 | cbm | ns | masscomp | apple | axis | knuth | cray \
173 | microblaze* | sim | cisco \
174 | oki | wec | wrs | winbond)
175 basic_machine=$field1-$field2
176 os=
177 ;;
178 *)
179 basic_machine=$field1
180 os=$field2
181 ;;
182 esac
183 ;;
184 esac
185 ;;
186 *)
187 # Convert single-component short-hands not valid as part of
188 # multi-component configurations.
189 case $field1 in
190 386bsd)
191 basic_machine=i386-pc
192 os=bsd
193 ;;
194 a29khif)
195 basic_machine=a29k-amd
196 os=udi
197 ;;
198 adobe68k)
199 basic_machine=m68010-adobe
200 os=scout
201 ;;
202 alliant)
203 basic_machine=fx80-alliant
204 os=
205 ;;
206 altos | altos3068)
207 basic_machine=m68k-altos
208 os=
209 ;;
210 am29k)
211 basic_machine=a29k-none
212 os=bsd
213 ;;
214 amdahl)
215 basic_machine=580-amdahl
216 os=sysv
217 ;;
218 amiga)
219 basic_machine=m68k-unknown
220 os=
221 ;;
222 amigaos | amigados)
223 basic_machine=m68k-unknown
224 os=amigaos
225 ;;
226 amigaunix | amix)
227 basic_machine=m68k-unknown
228 os=sysv4
229 ;;
230 apollo68)
231 basic_machine=m68k-apollo
232 os=sysv
233 ;;
234 apollo68bsd)
235 basic_machine=m68k-apollo
236 os=bsd
237 ;;
238 aros)
239 basic_machine=i386-pc
240 os=aros
241 ;;
242 aux)
243 basic_machine=m68k-apple
244 os=aux
245 ;;
246 balance)
247 basic_machine=ns32k-sequent
248 os=dynix
249 ;;
250 blackfin)
251 basic_machine=bfin-unknown
252 os=linux
253 ;;
254 cegcc)
255 basic_machine=arm-unknown
256 os=cegcc
257 ;;
258 convex-c1)
259 basic_machine=c1-convex
260 os=bsd
261 ;;
262 convex-c2)
263 basic_machine=c2-convex
264 os=bsd
265 ;;
266 convex-c32)
267 basic_machine=c32-convex
268 os=bsd
269 ;;
270 convex-c34)
271 basic_machine=c34-convex
272 os=bsd
273 ;;
274 convex-c38)
275 basic_machine=c38-convex
276 os=bsd
277 ;;
278 cray)
279 basic_machine=j90-cray
280 os=unicos
281 ;;
282 crds | unos)
283 basic_machine=m68k-crds
284 os=
285 ;;
286 da30)
287 basic_machine=m68k-da30
288 os=
289 ;;
290 decstation | pmax | pmin | dec3100 | decstatn)
291 basic_machine=mips-dec
292 os=
293 ;;
294 delta88)
295 basic_machine=m88k-motorola
296 os=sysv3
297 ;;
298 dicos)
299 basic_machine=i686-pc
300 os=dicos
301 ;;
302 djgpp)
303 basic_machine=i586-pc
304 os=msdosdjgpp
305 ;;
306 ebmon29k)
307 basic_machine=a29k-amd
308 os=ebmon
309 ;;
310 es1800 | OSE68k | ose68k | ose | OSE)
311 basic_machine=m68k-ericsson
312 os=ose
313 ;;
314 gmicro)
315 basic_machine=tron-gmicro
316 os=sysv
317 ;;
318 go32)
319 basic_machine=i386-pc
320 os=go32
321 ;;
322 h8300hms)
323 basic_machine=h8300-hitachi
324 os=hms
325 ;;
326 h8300xray)
327 basic_machine=h8300-hitachi
328 os=xray
329 ;;
330 h8500hms)
331 basic_machine=h8500-hitachi
332 os=hms
333 ;;
334 harris)
335 basic_machine=m88k-harris
336 os=sysv3
337 ;;
338 hp300)
339 basic_machine=m68k-hp
340 ;;
341 hp300bsd)
342 basic_machine=m68k-hp
343 os=bsd
344 ;;
345 hp300hpux)
346 basic_machine=m68k-hp
347 os=hpux
348 ;;
349 hppaosf)
350 basic_machine=hppa1.1-hp
351 os=osf
352 ;;
353 hppro)
354 basic_machine=hppa1.1-hp
355 os=proelf
356 ;;
357 i386mach)
358 basic_machine=i386-mach
359 os=mach
360 ;;
361 vsta)
362 basic_machine=i386-pc
363 os=vsta
364 ;;
365 isi68 | isi)
366 basic_machine=m68k-isi
367 os=sysv
368 ;;
369 m68knommu)
370 basic_machine=m68k-unknown
371 os=linux
372 ;;
373 magnum | m3230)
374 basic_machine=mips-mips
375 os=sysv
376 ;;
377 merlin)
378 basic_machine=ns32k-utek
379 os=sysv
380 ;;
381 mingw64)
382 basic_machine=x86_64-pc
383 os=mingw64
384 ;;
385 mingw32)
386 basic_machine=i686-pc
387 os=mingw32
388 ;;
389 mingw32ce)
390 basic_machine=arm-unknown
391 os=mingw32ce
392 ;;
393 monitor)
394 basic_machine=m68k-rom68k
395 os=coff
396 ;;
397 morphos)
398 basic_machine=powerpc-unknown
399 os=morphos
400 ;;
401 moxiebox)
402 basic_machine=moxie-unknown
403 os=moxiebox
404 ;;
405 msdos)
406 basic_machine=i386-pc
407 os=msdos
408 ;;
409 msys)
410 basic_machine=i686-pc
411 os=msys
412 ;;
413 mvs)
414 basic_machine=i370-ibm
415 os=mvs
416 ;;
417 nacl)
418 basic_machine=le32-unknown
419 os=nacl
420 ;;
421 ncr3000)
422 basic_machine=i486-ncr
423 os=sysv4
424 ;;
425 netbsd386)
426 basic_machine=i386-pc
427 os=netbsd
428 ;;
429 netwinder)
430 basic_machine=armv4l-rebel
431 os=linux
432 ;;
433 news | news700 | news800 | news900)
434 basic_machine=m68k-sony
435 os=newsos
436 ;;
437 news1000)
438 basic_machine=m68030-sony
439 os=newsos
440 ;;
441 necv70)
442 basic_machine=v70-nec
443 os=sysv
444 ;;
445 nh3000)
446 basic_machine=m68k-harris
447 os=cxux
448 ;;
449 nh[45]000)
450 basic_machine=m88k-harris
451 os=cxux
452 ;;
453 nindy960)
454 basic_machine=i960-intel
455 os=nindy
456 ;;
457 mon960)
458 basic_machine=i960-intel
459 os=mon960
460 ;;
461 nonstopux)
462 basic_machine=mips-compaq
463 os=nonstopux
464 ;;
465 os400)
466 basic_machine=powerpc-ibm
467 os=os400
468 ;;
469 OSE68000 | ose68000)
470 basic_machine=m68000-ericsson
471 os=ose
472 ;;
473 os68k)
474 basic_machine=m68k-none
475 os=os68k
476 ;;
477 paragon)
478 basic_machine=i860-intel
479 os=osf
480 ;;
481 parisc)
482 basic_machine=hppa-unknown
483 os=linux
484 ;;
485 pw32)
486 basic_machine=i586-unknown
487 os=pw32
488 ;;
489 rdos | rdos64)
490 basic_machine=x86_64-pc
491 os=rdos
492 ;;
493 rdos32)
494 basic_machine=i386-pc
495 os=rdos
496 ;;
497 rom68k)
498 basic_machine=m68k-rom68k
499 os=coff
500 ;;
501 sa29200)
502 basic_machine=a29k-amd
503 os=udi
504 ;;
505 sei)
506 basic_machine=mips-sei
507 os=seiux
508 ;;
509 sequent)
510 basic_machine=i386-sequent
511 os=
512 ;;
513 sps7)
514 basic_machine=m68k-bull
515 os=sysv2
516 ;;
517 st2000)
518 basic_machine=m68k-tandem
519 os=
520 ;;
521 stratus)
522 basic_machine=i860-stratus
523 os=sysv4
524 ;;
525 sun2)
526 basic_machine=m68000-sun
527 os=
528 ;;
529 sun2os3)
530 basic_machine=m68000-sun
531 os=sunos3
532 ;;
533 sun2os4)
534 basic_machine=m68000-sun
535 os=sunos4
536 ;;
537 sun3)
538 basic_machine=m68k-sun
539 os=
540 ;;
541 sun3os3)
542 basic_machine=m68k-sun
543 os=sunos3
544 ;;
545 sun3os4)
546 basic_machine=m68k-sun
547 os=sunos4
548 ;;
549 sun4)
550 basic_machine=sparc-sun
551 os=
552 ;;
553 sun4os3)
554 basic_machine=sparc-sun
555 os=sunos3
556 ;;
557 sun4os4)
558 basic_machine=sparc-sun
559 os=sunos4
560 ;;
561 sun4sol2)
562 basic_machine=sparc-sun
563 os=solaris2
564 ;;
565 sun386 | sun386i | roadrunner)
566 basic_machine=i386-sun
567 os=
568 ;;
569 sv1)
570 basic_machine=sv1-cray
571 os=unicos
572 ;;
573 symmetry)
574 basic_machine=i386-sequent
575 os=dynix
576 ;;
577 t3e)
578 basic_machine=alphaev5-cray
579 os=unicos
580 ;;
581 t90)
582 basic_machine=t90-cray
583 os=unicos
584 ;;
585 toad1)
586 basic_machine=pdp10-xkl
587 os=tops20
588 ;;
589 tpf)
590 basic_machine=s390x-ibm
591 os=tpf
592 ;;
593 udi29k)
594 basic_machine=a29k-amd
595 os=udi
596 ;;
597 ultra3)
598 basic_machine=a29k-nyu
599 os=sym1
600 ;;
601 v810 | necv810)
602 basic_machine=v810-nec
603 os=none
604 ;;
605 vaxv)
606 basic_machine=vax-dec
607 os=sysv
608 ;;
609 vms)
610 basic_machine=vax-dec
611 os=vms
612 ;;
613 vxworks960)
614 basic_machine=i960-wrs
615 os=vxworks
616 ;;
617 vxworks68)
618 basic_machine=m68k-wrs
619 os=vxworks
620 ;;
621 vxworks29k)
622 basic_machine=a29k-wrs
623 os=vxworks
624 ;;
625 xbox)
626 basic_machine=i686-pc
627 os=mingw32
628 ;;
629 ymp)
630 basic_machine=ymp-cray
631 os=unicos
632 ;;
633 *)
634 basic_machine=$1
635 os=
636 ;;
637 esac
638 ;;
134639 esac
135640
136 ### Let's recognize common machines as not being operating systems so
137 ### that things like config.sub decstation-3100 work. We also
138 ### recognize some manufacturers as not being operating systems, so we
139 ### can provide default operating systems below.
140 case $os in
141 -sun*os*)
142 # Prevent following clause from handling this invalid input.
143 ;;
144 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
145 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
146 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
147 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
148 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
149 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
150 -apple | -axis | -knuth | -cray | -microblaze*)
151 os=
152 basic_machine=$1
153 ;;
154 -bluegene*)
155 os=-cnk
156 ;;
157 -sim | -cisco | -oki | -wec | -winbond)
158 os=
159 basic_machine=$1
160 ;;
161 -scout)
162 ;;
163 -wrs)
164 os=-vxworks
165 basic_machine=$1
166 ;;
167 -chorusos*)
168 os=-chorusos
169 basic_machine=$1
170 ;;
171 -chorusrdb)
172 os=-chorusrdb
173 basic_machine=$1
174 ;;
175 -hiux*)
176 os=-hiuxwe2
177 ;;
178 -sco6)
179 os=-sco5v6
180 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
181 ;;
182 -sco5)
183 os=-sco3.2v5
184 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
185 ;;
186 -sco4)
187 os=-sco3.2v4
188 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
189 ;;
190 -sco3.2.[4-9]*)
191 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
192 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
193 ;;
194 -sco3.2v[4-9]*)
195 # Don't forget version if it is 3.2v4 or newer.
196 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
197 ;;
198 -sco5v6*)
199 # Don't forget version if it is 3.2v4 or newer.
200 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
201 ;;
202 -sco*)
203 os=-sco3.2v2
204 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
205 ;;
206 -udk*)
207 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208 ;;
209 -isc)
210 os=-isc2.2
211 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212 ;;
213 -clix*)
214 basic_machine=clipper-intergraph
215 ;;
216 -isc*)
217 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218 ;;
219 -lynx*178)
220 os=-lynxos178
221 ;;
222 -lynx*5)
223 os=-lynxos5
224 ;;
225 -lynx*)
226 os=-lynxos
227 ;;
228 -ptx*)
229 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
230 ;;
231 -windowsnt*)
232 os=`echo $os | sed -e 's/windowsnt/winnt/'`
233 ;;
234 -psos*)
235 os=-psos
236 ;;
237 -mint | -mint[0-9]*)
238 basic_machine=m68k-atari
239 os=-mint
240 ;;
241 esac
242
243 # Decode aliases for certain CPU-COMPANY combinations.
641 # Decode 1-component or ad-hoc basic machines
244642 case $basic_machine in
245 # Recognize the basic CPU types without company name.
246 # Some are omitted here because they have special meanings below.
247 1750a | 580 \
248 | a29k \
249 | aarch64 | aarch64_be \
250 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252 | am33_2.0 \
253 | arc | arceb \
254 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
255 | avr | avr32 \
256 | ba \
257 | be32 | be64 \
258 | bfin \
259 | c4x | c8051 | clipper \
260 | d10v | d30v | dlx | dsp16xx \
261 | e2k | epiphany \
262 | fido | fr30 | frv | ft32 \
263 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
264 | hexagon \
265 | i370 | i860 | i960 | ia16 | ia64 \
266 | ip2k | iq2000 \
267 | k1om \
268 | le32 | le64 \
269 | lm32 \
270 | m32c | m32r | m32rle | m68000 | m68k | m88k \
271 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
272 | mips | mipsbe | mipseb | mipsel | mipsle \
273 | mips16 \
274 | mips64 | mips64el \
275 | mips64octeon | mips64octeonel \
276 | mips64orion | mips64orionel \
277 | mips64r5900 | mips64r5900el \
278 | mips64vr | mips64vrel \
279 | mips64vr4100 | mips64vr4100el \
280 | mips64vr4300 | mips64vr4300el \
281 | mips64vr5000 | mips64vr5000el \
282 | mips64vr5900 | mips64vr5900el \
283 | mipsisa32 | mipsisa32el \
284 | mipsisa32r2 | mipsisa32r2el \
285 | mipsisa32r6 | mipsisa32r6el \
286 | mipsisa64 | mipsisa64el \
287 | mipsisa64r2 | mipsisa64r2el \
288 | mipsisa64r6 | mipsisa64r6el \
289 | mipsisa64sb1 | mipsisa64sb1el \
290 | mipsisa64sr71k | mipsisa64sr71kel \
291 | mipsr5900 | mipsr5900el \
292 | mipstx39 | mipstx39el \
293 | mn10200 | mn10300 \
294 | moxie \
295 | mt \
296 | msp430 \
297 | nds32 | nds32le | nds32be \
298 | nios | nios2 | nios2eb | nios2el \
299 | ns16k | ns32k \
300 | open8 | or1k | or1knd | or32 \
301 | pdp10 | pdp11 | pj | pjl \
302 | powerpc | powerpc64 | powerpc64le | powerpcle \
303 | pru \
304 | pyramid \
305 | riscv32 | riscv64 \
306 | rl78 | rx \
307 | score \
308 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309 | sh64 | sh64le \
310 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
312 | spu \
313 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
314 | ubicom32 \
315 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316 | visium \
317 | wasm32 \
318 | we32k \
319 | x86 | xc16x | xstormy16 | xtensa \
320 | z8k | z80)
321 basic_machine=$basic_machine-unknown
322 ;;
323 c54x)
324 basic_machine=tic54x-unknown
325 ;;
326 c55x)
327 basic_machine=tic55x-unknown
328 ;;
329 c6x)
330 basic_machine=tic6x-unknown
643 # Here we handle the default manufacturer of certain CPU types. It is in
644 # some cases the only manufacturer, in others, it is the most popular.
645 w89k)
646 cpu=hppa1.1
647 vendor=winbond
648 ;;
649 op50n)
650 cpu=hppa1.1
651 vendor=oki
652 ;;
653 op60c)
654 cpu=hppa1.1
655 vendor=oki
656 ;;
657 ibm*)
658 cpu=i370
659 vendor=ibm
660 ;;
661 orion105)
662 cpu=clipper
663 vendor=highlevel
664 ;;
665 mac | mpw | mac-mpw)
666 cpu=m68k
667 vendor=apple
668 ;;
669 pmac | pmac-mpw)
670 cpu=powerpc
671 vendor=apple
672 ;;
673
674 # Recognize the various machine names and aliases which stand
675 # for a CPU type and a company and sometimes even an OS.
676 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
677 cpu=m68000
678 vendor=att
679 ;;
680 3b*)
681 cpu=we32k
682 vendor=att
683 ;;
684 bluegene*)
685 cpu=powerpc
686 vendor=ibm
687 os=cnk
688 ;;
689 decsystem10* | dec10*)
690 cpu=pdp10
691 vendor=dec
692 os=tops10
693 ;;
694 decsystem20* | dec20*)
695 cpu=pdp10
696 vendor=dec
697 os=tops20
698 ;;
699 delta | 3300 | motorola-3300 | motorola-delta \
700 | 3300-motorola | delta-motorola)
701 cpu=m68k
702 vendor=motorola
703 ;;
704 dpx2*)
705 cpu=m68k
706 vendor=bull
707 os=sysv3
708 ;;
709 encore | umax | mmax)
710 cpu=ns32k
711 vendor=encore
712 ;;
713 elxsi)
714 cpu=elxsi
715 vendor=elxsi
716 os=${os:-bsd}
717 ;;
718 fx2800)
719 cpu=i860
720 vendor=alliant
721 ;;
722 genix)
723 cpu=ns32k
724 vendor=ns
725 ;;
726 h3050r* | hiux*)
727 cpu=hppa1.1
728 vendor=hitachi
729 os=hiuxwe2
730 ;;
731 hp3k9[0-9][0-9] | hp9[0-9][0-9])
732 cpu=hppa1.0
733 vendor=hp
734 ;;
735 hp9k2[0-9][0-9] | hp9k31[0-9])
736 cpu=m68000
737 vendor=hp
738 ;;
739 hp9k3[2-9][0-9])
740 cpu=m68k
741 vendor=hp
742 ;;
743 hp9k6[0-9][0-9] | hp6[0-9][0-9])
744 cpu=hppa1.0
745 vendor=hp
746 ;;
747 hp9k7[0-79][0-9] | hp7[0-79][0-9])
748 cpu=hppa1.1
749 vendor=hp
750 ;;
751 hp9k78[0-9] | hp78[0-9])
752 # FIXME: really hppa2.0-hp
753 cpu=hppa1.1
754 vendor=hp
755 ;;
756 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
757 # FIXME: really hppa2.0-hp
758 cpu=hppa1.1
759 vendor=hp
760 ;;
761 hp9k8[0-9][13679] | hp8[0-9][13679])
762 cpu=hppa1.1
763 vendor=hp
764 ;;
765 hp9k8[0-9][0-9] | hp8[0-9][0-9])
766 cpu=hppa1.0
767 vendor=hp
768 ;;
769 i*86v32)
770 cpu=`echo "$1" | sed -e 's/86.*/86/'`
771 vendor=pc
772 os=sysv32
773 ;;
774 i*86v4*)
775 cpu=`echo "$1" | sed -e 's/86.*/86/'`
776 vendor=pc
777 os=sysv4
778 ;;
779 i*86v)
780 cpu=`echo "$1" | sed -e 's/86.*/86/'`
781 vendor=pc
782 os=sysv
783 ;;
784 i*86sol2)
785 cpu=`echo "$1" | sed -e 's/86.*/86/'`
786 vendor=pc
787 os=solaris2
788 ;;
789 j90 | j90-cray)
790 cpu=j90
791 vendor=cray
792 os=${os:-unicos}
793 ;;
794 iris | iris4d)
795 cpu=mips
796 vendor=sgi
797 case $os in
798 irix*)
799 ;;
800 *)
801 os=irix4
802 ;;
803 esac
804 ;;
805 miniframe)
806 cpu=m68000
807 vendor=convergent
808 ;;
809 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
810 cpu=m68k
811 vendor=atari
812 os=mint
813 ;;
814 news-3600 | risc-news)
815 cpu=mips
816 vendor=sony
817 os=newsos
818 ;;
819 next | m*-next)
820 cpu=m68k
821 vendor=next
822 case $os in
823 nextstep* )
824 ;;
825 ns2*)
826 os=nextstep2
827 ;;
828 *)
829 os=nextstep3
830 ;;
831 esac
832 ;;
833 np1)
834 cpu=np1
835 vendor=gould
836 ;;
837 op50n-* | op60c-*)
838 cpu=hppa1.1
839 vendor=oki
840 os=proelf
841 ;;
842 pa-hitachi)
843 cpu=hppa1.1
844 vendor=hitachi
845 os=hiuxwe2
846 ;;
847 pbd)
848 cpu=sparc
849 vendor=tti
850 ;;
851 pbb)
852 cpu=m68k
853 vendor=tti
854 ;;
855 pc532)
856 cpu=ns32k
857 vendor=pc532
858 ;;
859 pn)
860 cpu=pn
861 vendor=gould
862 ;;
863 power)
864 cpu=power
865 vendor=ibm
866 ;;
867 ps2)
868 cpu=i386
869 vendor=ibm
870 ;;
871 rm[46]00)
872 cpu=mips
873 vendor=siemens
874 ;;
875 rtpc | rtpc-*)
876 cpu=romp
877 vendor=ibm
878 ;;
879 sde)
880 cpu=mipsisa32
881 vendor=sde
882 os=${os:-elf}
883 ;;
884 simso-wrs)
885 cpu=sparclite
886 vendor=wrs
887 os=vxworks
888 ;;
889 tower | tower-32)
890 cpu=m68k
891 vendor=ncr
892 ;;
893 vpp*|vx|vx-*)
894 cpu=f301
895 vendor=fujitsu
896 ;;
897 w65)
898 cpu=w65
899 vendor=wdc
900 ;;
901 w89k-*)
902 cpu=hppa1.1
903 vendor=winbond
904 os=proelf
905 ;;
906 none)
907 cpu=none
908 vendor=none
331909 ;;
332910 leon|leon[3-9])
333 basic_machine=sparc-$basic_machine
334 ;;
335 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
336 basic_machine=$basic_machine-unknown
337 os=-none
338 ;;
339 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
340 ;;
341 ms1)
342 basic_machine=mt-unknown
343 ;;
344
345 strongarm | thumb | xscale)
346 basic_machine=arm-unknown
347 ;;
348 xgate)
349 basic_machine=$basic_machine-unknown
350 os=-none
351 ;;
352 xscaleeb)
353 basic_machine=armeb-unknown
354 ;;
355
356 xscaleel)
357 basic_machine=armel-unknown
358 ;;
359
911 cpu=sparc
912 vendor=$basic_machine
913 ;;
914 leon-*|leon[3-9]-*)
915 cpu=sparc
916 vendor=`echo "$basic_machine" | sed 's/-.*//'`
917 ;;
918
919 *-*)
920 IFS="-" read -r cpu vendor <<EOF
921 $basic_machine
922 EOF
923 ;;
360924 # We use `pc' rather than `unknown'
361925 # because (1) that's what they normally are, and
362926 # (2) the word "unknown" tends to confuse beginning users.
363927 i*86 | x86_64)
364 basic_machine=$basic_machine-pc
365 ;;
366 # Object if more than one company name word.
367 *-*-*)
368 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
369 exit 1
370 ;;
371 # Recognize the basic CPU types with company name.
372 580-* \
373 | a29k-* \
374 | aarch64-* | aarch64_be-* \
375 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
376 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
377 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
378 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
379 | avr-* | avr32-* \
380 | ba-* \
381 | be32-* | be64-* \
382 | bfin-* | bs2000-* \
383 | c[123]* | c30-* | [cjt]90-* | c4x-* \
384 | c8051-* | clipper-* | craynv-* | cydra-* \
385 | d10v-* | d30v-* | dlx-* \
386 | e2k-* | elxsi-* \
387 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
388 | h8300-* | h8500-* \
389 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
390 | hexagon-* \
391 | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
392 | ip2k-* | iq2000-* \
393 | k1om-* \
394 | le32-* | le64-* \
395 | lm32-* \
396 | m32c-* | m32r-* | m32rle-* \
397 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
398 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
399 | microblaze-* | microblazeel-* \
400 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
401 | mips16-* \
402 | mips64-* | mips64el-* \
403 | mips64octeon-* | mips64octeonel-* \
404 | mips64orion-* | mips64orionel-* \
405 | mips64r5900-* | mips64r5900el-* \
406 | mips64vr-* | mips64vrel-* \
407 | mips64vr4100-* | mips64vr4100el-* \
408 | mips64vr4300-* | mips64vr4300el-* \
409 | mips64vr5000-* | mips64vr5000el-* \
410 | mips64vr5900-* | mips64vr5900el-* \
411 | mipsisa32-* | mipsisa32el-* \
412 | mipsisa32r2-* | mipsisa32r2el-* \
413 | mipsisa32r6-* | mipsisa32r6el-* \
414 | mipsisa64-* | mipsisa64el-* \
415 | mipsisa64r2-* | mipsisa64r2el-* \
416 | mipsisa64r6-* | mipsisa64r6el-* \
417 | mipsisa64sb1-* | mipsisa64sb1el-* \
418 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
419 | mipsr5900-* | mipsr5900el-* \
420 | mipstx39-* | mipstx39el-* \
421 | mmix-* \
422 | mt-* \
423 | msp430-* \
424 | nds32-* | nds32le-* | nds32be-* \
425 | nios-* | nios2-* | nios2eb-* | nios2el-* \
426 | none-* | np1-* | ns16k-* | ns32k-* \
427 | open8-* \
428 | or1k*-* \
429 | orion-* \
430 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
431 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
432 | pru-* \
433 | pyramid-* \
434 | riscv32-* | riscv64-* \
435 | rl78-* | romp-* | rs6000-* | rx-* \
436 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
437 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
438 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
439 | sparclite-* \
440 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
441 | tahoe-* \
442 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
443 | tile*-* \
444 | tron-* \
445 | ubicom32-* \
446 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
447 | vax-* \
448 | visium-* \
449 | wasm32-* \
450 | we32k-* \
451 | x86-* | x86_64-* | xc16x-* | xps100-* \
452 | xstormy16-* | xtensa*-* \
453 | ymp-* \
454 | z8k-* | z80-*)
455 ;;
456 # Recognize the basic CPU types without company name, with glob match.
457 xtensa*)
458 basic_machine=$basic_machine-unknown
459 ;;
460 # Recognize the various machine names and aliases which stand
461 # for a CPU type and a company and sometimes even an OS.
462 386bsd)
463 basic_machine=i386-unknown
464 os=-bsd
465 ;;
466 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
467 basic_machine=m68000-att
468 ;;
469 3b*)
470 basic_machine=we32k-att
471 ;;
472 a29khif)
473 basic_machine=a29k-amd
474 os=-udi
475 ;;
476 abacus)
477 basic_machine=abacus-unknown
478 ;;
479 adobe68k)
480 basic_machine=m68010-adobe
481 os=-scout
482 ;;
483 alliant | fx80)
484 basic_machine=fx80-alliant
485 ;;
486 altos | altos3068)
487 basic_machine=m68k-altos
488 ;;
489 am29k)
490 basic_machine=a29k-none
491 os=-bsd
492 ;;
493 amd64)
494 basic_machine=x86_64-pc
495 ;;
928 cpu=$basic_machine
929 vendor=pc
930 ;;
931 # These rules are duplicated from below for sake of the special case above;
932 # i.e. things that normalized to x86 arches should also default to "pc"
933 pc98)
934 cpu=i386
935 vendor=pc
936 ;;
937 x64 | amd64)
938 cpu=x86_64
939 vendor=pc
940 ;;
941 # Recognize the basic CPU types without company name.
942 *)
943 cpu=$basic_machine
944 vendor=unknown
945 ;;
946 esac
947
948 unset -v basic_machine
949
950 # Decode basic machines in the full and proper CPU-Company form.
951 case $cpu-$vendor in
952 # Here we handle the default manufacturer of certain CPU types in cannonical form. It is in
953 # some cases the only manufacturer, in others, it is the most popular.
954 craynv-unknown)
955 vendor=cray
956 os=${os:-unicosmp}
957 ;;
958 c90-unknown | c90-cray)
959 vendor=cray
960 os=${os:-unicos}
961 ;;
962 fx80-unknown)
963 vendor=alliant
964 ;;
965 romp-unknown)
966 vendor=ibm
967 ;;
968 mmix-unknown)
969 vendor=knuth
970 ;;
971 microblaze-unknown | microblazeel-unknown)
972 vendor=xilinx
973 ;;
974 rs6000-unknown)
975 vendor=ibm
976 ;;
977 vax-unknown)
978 vendor=dec
979 ;;
980 pdp11-unknown)
981 vendor=dec
982 ;;
983 we32k-unknown)
984 vendor=att
985 ;;
986 cydra-unknown)
987 vendor=cydrome
988 ;;
989 i370-ibm*)
990 vendor=ibm
991 ;;
992 orion-unknown)
993 vendor=highlevel
994 ;;
995 xps-unknown | xps100-unknown)
996 cpu=xps100
997 vendor=honeywell
998 ;;
999
1000 # Here we normalize CPU types with a missing or matching vendor
1001 dpx20-unknown | dpx20-bull)
1002 cpu=rs6000
1003 vendor=bull
1004 os=${os:-bosx}
1005 ;;
1006
1007 # Here we normalize CPU types irrespective of the vendor
4961008 amd64-*)
497 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
498 ;;
499 amdahl)
500 basic_machine=580-amdahl
501 os=-sysv
502 ;;
503 amiga | amiga-*)
504 basic_machine=m68k-unknown
505 ;;
506 amigaos | amigados)
507 basic_machine=m68k-unknown
508 os=-amigaos
509 ;;
510 amigaunix | amix)
511 basic_machine=m68k-unknown
512 os=-sysv4
513 ;;
514 apollo68)
515 basic_machine=m68k-apollo
516 os=-sysv
517 ;;
518 apollo68bsd)
519 basic_machine=m68k-apollo
520 os=-bsd
521 ;;
522 aros)
523 basic_machine=i386-pc
524 os=-aros
525 ;;
526 asmjs)
527 basic_machine=asmjs-unknown
528 ;;
529 aux)
530 basic_machine=m68k-apple
531 os=-aux
532 ;;
533 balance)
534 basic_machine=ns32k-sequent
535 os=-dynix
536 ;;
537 blackfin)
538 basic_machine=bfin-unknown
539 os=-linux
1009 cpu=x86_64
5401010 ;;
5411011 blackfin-*)
542 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
543 os=-linux
1012 cpu=bfin
1013 os=linux
1014 ;;
1015 c54x-*)
1016 cpu=tic54x
1017 ;;
1018 c55x-*)
1019 cpu=tic55x
1020 ;;
1021 c6x-*)
1022 cpu=tic6x
1023 ;;
1024 e500v[12]-*)
1025 cpu=powerpc
1026 os=$os"spe"
1027 ;;
1028 mips3*-*)
1029 cpu=mips64
1030 ;;
1031 ms1-*)
1032 cpu=mt
1033 ;;
1034 m68knommu-*)
1035 cpu=m68k
1036 os=linux
1037 ;;
1038 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1039 cpu=s12z
1040 ;;
1041 openrisc-*)
1042 cpu=or32
1043 ;;
1044 parisc-*)
1045 cpu=hppa
1046 os=linux
1047 ;;
1048 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1049 cpu=i586
1050 ;;
1051 pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1052 cpu=i686
1053 ;;
1054 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1055 cpu=i686
1056 ;;
1057 pentium4-*)
1058 cpu=i786
1059 ;;
1060 pc98-*)
1061 cpu=i386
1062 ;;
1063 ppc-* | ppcbe-*)
1064 cpu=powerpc
1065 ;;
1066 ppcle-* | powerpclittle-*)
1067 cpu=powerpcle
1068 ;;
1069 ppc64-*)
1070 cpu=powerpc64
1071 ;;
1072 ppc64le-* | powerpc64little-*)
1073 cpu=powerpc64le
1074 ;;
1075 sb1-*)
1076 cpu=mipsisa64sb1
1077 ;;
1078 sb1el-*)
1079 cpu=mipsisa64sb1el
1080 ;;
1081 sh5e[lb]-*)
1082 cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
1083 ;;
1084 spur-*)
1085 cpu=spur
1086 ;;
1087 strongarm-* | thumb-*)
1088 cpu=arm
1089 ;;
1090 tx39-*)
1091 cpu=mipstx39
1092 ;;
1093 tx39el-*)
1094 cpu=mipstx39el
1095 ;;
1096 x64-*)
1097 cpu=x86_64
1098 ;;
1099 xscale-* | xscalee[bl]-*)
1100 cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
1101 ;;
1102
1103 # Recognize the cannonical CPU Types that limit and/or modify the
1104 # company names they are paired with.
1105 cr16-*)
1106 os=${os:-elf}
1107 ;;
1108 crisv32-* | etraxfs*-*)
1109 cpu=crisv32
1110 vendor=axis
1111 ;;
1112 cris-* | etrax*-*)
1113 cpu=cris
1114 vendor=axis
1115 ;;
1116 crx-*)
1117 os=${os:-elf}
1118 ;;
1119 neo-tandem)
1120 cpu=neo
1121 vendor=tandem
1122 ;;
1123 nse-tandem)
1124 cpu=nse
1125 vendor=tandem
1126 ;;
1127 nsr-tandem)
1128 cpu=nsr
1129 vendor=tandem
1130 ;;
1131 nsv-tandem)
1132 cpu=nsv
1133 vendor=tandem
1134 ;;
1135 nsx-tandem)
1136 cpu=nsx
1137 vendor=tandem
1138 ;;
1139 s390-*)
1140 cpu=s390
1141 vendor=ibm
1142 ;;
1143 s390x-*)
1144 cpu=s390x
1145 vendor=ibm
1146 ;;
1147 tile*-*)
1148 os=${os:-linux-gnu}
1149 ;;
1150
1151 *)
1152 # Recognize the cannonical CPU types that are allowed with any
1153 # company name.
1154 case $cpu in
1155 1750a | 580 \
1156 | a29k \
1157 | aarch64 | aarch64_be \
1158 | abacus \
1159 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
1160 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
1161 | alphapca5[67] | alpha64pca5[67] \
1162 | am33_2.0 \
1163 | arc | arceb \
1164 | arm | arm[lb]e | arme[lb] | armv* \
1165 | avr | avr32 \
1166 | asmjs \
1167 | ba \
1168 | be32 | be64 \
1169 | bfin | bs2000 \
1170 | c[123]* | c30 | [cjt]90 | c4x \
1171 | c8051 | clipper | craynv | csky | cydra \
1172 | d10v | d30v | dlx | dsp16xx \
1173 | e2k | elxsi | epiphany \
1174 | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
1175 | h8300 | h8500 \
1176 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
1177 | hexagon \
1178 | i370 | i*86 | i860 | i960 | ia16 | ia64 \
1179 | ip2k | iq2000 \
1180 | k1om \
1181 | le32 | le64 \
1182 | lm32 \
1183 | m32c | m32r | m32rle \
1184 | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \
1185 | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \
1186 | m88110 | m88k | maxq | mb | mcore | mep | metag \
1187 | microblaze | microblazeel \
1188 | mips | mipsbe | mipseb | mipsel | mipsle \
1189 | mips16 \
1190 | mips64 | mips64el \
1191 | mips64octeon | mips64octeonel \
1192 | mips64orion | mips64orionel \
1193 | mips64r5900 | mips64r5900el \
1194 | mips64vr | mips64vrel \
1195 | mips64vr4100 | mips64vr4100el \
1196 | mips64vr4300 | mips64vr4300el \
1197 | mips64vr5000 | mips64vr5000el \
1198 | mips64vr5900 | mips64vr5900el \
1199 | mipsisa32 | mipsisa32el \
1200 | mipsisa32r2 | mipsisa32r2el \
1201 | mipsisa32r6 | mipsisa32r6el \
1202 | mipsisa64 | mipsisa64el \
1203 | mipsisa64r2 | mipsisa64r2el \
1204 | mipsisa64r6 | mipsisa64r6el \
1205 | mipsisa64sb1 | mipsisa64sb1el \
1206 | mipsisa64sr71k | mipsisa64sr71kel \
1207 | mipsr5900 | mipsr5900el \
1208 | mipstx39 | mipstx39el \
1209 | mmix \
1210 | mn10200 | mn10300 \
1211 | moxie \
1212 | mt \
1213 | msp430 \
1214 | nds32 | nds32le | nds32be \
1215 | nfp \
1216 | nios | nios2 | nios2eb | nios2el \
1217 | none | np1 | ns16k | ns32k \
1218 | open8 \
1219 | or1k* \
1220 | or32 \
1221 | orion \
1222 | pdp10 | pdp11 | pj | pjl | pn | power \
1223 | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
1224 | pru \
1225 | pyramid \
1226 | riscv | riscv32 | riscv64 \
1227 | rl78 | romp | rs6000 | rx \
1228 | score \
1229 | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
1230 | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
1231 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
1232 | sparclite \
1233 | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
1234 | spu \
1235 | tahoe \
1236 | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
1237 | tron \
1238 | ubicom32 \
1239 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
1240 | vax \
1241 | visium \
1242 | wasm32 \
1243 | we32k \
1244 | x86 | x86_64 | xc16x | xgate | xps100 \
1245 | xstormy16 | xtensa* \
1246 | ymp \
1247 | z8k | z80)
1248 ;;
1249
1250 *)
1251 echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
1252 exit 1
1253 ;;
1254 esac
1255 ;;
1256 esac
1257
1258 # Here we canonicalize certain aliases for manufacturers.
1259 case $vendor in
1260 digital*)
1261 vendor=dec
1262 ;;
1263 commodore*)
1264 vendor=cbm
1265 ;;
1266 *)
1267 ;;
1268 esac
1269
1270 # Decode manufacturer-specific aliases for certain operating systems.
1271
1272 if [ x$os != x ]
1273 then
1274 case $os in
1275 # First match some system type aliases that might get confused
1276 # with valid system types.
1277 # solaris* is a basic system type, with this one exception.
1278 auroraux)
1279 os=auroraux
5441280 ;;
5451281 bluegene*)
546 basic_machine=powerpc-ibm
547 os=-cnk
548 ;;
549 c54x-*)
550 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
551 ;;
552 c55x-*)
553 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
554 ;;
555 c6x-*)
556 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
557 ;;
558 c90)
559 basic_machine=c90-cray
560 os=-unicos
561 ;;
562 cegcc)
563 basic_machine=arm-unknown
564 os=-cegcc
565 ;;
566 convex-c1)
567 basic_machine=c1-convex
568 os=-bsd
569 ;;
570 convex-c2)
571 basic_machine=c2-convex
572 os=-bsd
573 ;;
574 convex-c32)
575 basic_machine=c32-convex
576 os=-bsd
577 ;;
578 convex-c34)
579 basic_machine=c34-convex
580 os=-bsd
581 ;;
582 convex-c38)
583 basic_machine=c38-convex
584 os=-bsd
585 ;;
586 cray | j90)
587 basic_machine=j90-cray
588 os=-unicos
589 ;;
590 craynv)
591 basic_machine=craynv-cray
592 os=-unicosmp
593 ;;
594 cr16 | cr16-*)
595 basic_machine=cr16-unknown
596 os=-elf
597 ;;
598 crds | unos)
599 basic_machine=m68k-crds
600 ;;
601 crisv32 | crisv32-* | etraxfs*)
602 basic_machine=crisv32-axis
603 ;;
604 cris | cris-* | etrax*)
605 basic_machine=cris-axis
606 ;;
607 crx)
608 basic_machine=crx-unknown
609 os=-elf
610 ;;
611 da30 | da30-*)
612 basic_machine=m68k-da30
613 ;;
614 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
615 basic_machine=mips-dec
616 ;;
617 decsystem10* | dec10*)
618 basic_machine=pdp10-dec
619 os=-tops10
620 ;;
621 decsystem20* | dec20*)
622 basic_machine=pdp10-dec
623 os=-tops20
624 ;;
625 delta | 3300 | motorola-3300 | motorola-delta \
626 | 3300-motorola | delta-motorola)
627 basic_machine=m68k-motorola
628 ;;
629 delta88)
630 basic_machine=m88k-motorola
631 os=-sysv3
632 ;;
633 dicos)
634 basic_machine=i686-pc
635 os=-dicos
636 ;;
637 djgpp)
638 basic_machine=i586-pc
639 os=-msdosdjgpp
640 ;;
641 dpx20 | dpx20-*)
642 basic_machine=rs6000-bull
643 os=-bosx
644 ;;
645 dpx2* | dpx2*-bull)
646 basic_machine=m68k-bull
647 os=-sysv3
648 ;;
649 e500v[12])
650 basic_machine=powerpc-unknown
651 os=$os"spe"
652 ;;
653 e500v[12]-*)
654 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
655 os=$os"spe"
656 ;;
657 ebmon29k)
658 basic_machine=a29k-amd
659 os=-ebmon
660 ;;
661 elxsi)
662 basic_machine=elxsi-elxsi
663 os=-bsd
664 ;;
665 encore | umax | mmax)
666 basic_machine=ns32k-encore
667 ;;
668 es1800 | OSE68k | ose68k | ose | OSE)
669 basic_machine=m68k-ericsson
670 os=-ose
671 ;;
672 fx2800)
673 basic_machine=i860-alliant
674 ;;
675 genix)
676 basic_machine=ns32k-ns
677 ;;
678 gmicro)
679 basic_machine=tron-gmicro
680 os=-sysv
681 ;;
682 go32)
683 basic_machine=i386-pc
684 os=-go32
685 ;;
686 h3050r* | hiux*)
687 basic_machine=hppa1.1-hitachi
688 os=-hiuxwe2
689 ;;
690 h8300hms)
691 basic_machine=h8300-hitachi
692 os=-hms
693 ;;
694 h8300xray)
695 basic_machine=h8300-hitachi
696 os=-xray
697 ;;
698 h8500hms)
699 basic_machine=h8500-hitachi
700 os=-hms
701 ;;
702 harris)
703 basic_machine=m88k-harris
704 os=-sysv3
705 ;;
706 hp300-*)
707 basic_machine=m68k-hp
708 ;;
709 hp300bsd)
710 basic_machine=m68k-hp
711 os=-bsd
712 ;;
713 hp300hpux)
714 basic_machine=m68k-hp
715 os=-hpux
716 ;;
717 hp3k9[0-9][0-9] | hp9[0-9][0-9])
718 basic_machine=hppa1.0-hp
719 ;;
720 hp9k2[0-9][0-9] | hp9k31[0-9])
721 basic_machine=m68000-hp
722 ;;
723 hp9k3[2-9][0-9])
724 basic_machine=m68k-hp
725 ;;
726 hp9k6[0-9][0-9] | hp6[0-9][0-9])
727 basic_machine=hppa1.0-hp
728 ;;
729 hp9k7[0-79][0-9] | hp7[0-79][0-9])
730 basic_machine=hppa1.1-hp
731 ;;
732 hp9k78[0-9] | hp78[0-9])
733 # FIXME: really hppa2.0-hp
734 basic_machine=hppa1.1-hp
735 ;;
736 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
737 # FIXME: really hppa2.0-hp
738 basic_machine=hppa1.1-hp
739 ;;
740 hp9k8[0-9][13679] | hp8[0-9][13679])
741 basic_machine=hppa1.1-hp
742 ;;
743 hp9k8[0-9][0-9] | hp8[0-9][0-9])
744 basic_machine=hppa1.0-hp
745 ;;
746 hppa-next)
747 os=-nextstep3
748 ;;
749 hppaosf)
750 basic_machine=hppa1.1-hp
751 os=-osf
752 ;;
753 hppro)
754 basic_machine=hppa1.1-hp
755 os=-proelf
756 ;;
757 i370-ibm* | ibm*)
758 basic_machine=i370-ibm
759 ;;
760 i*86v32)
761 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
762 os=-sysv32
763 ;;
764 i*86v4*)
765 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
766 os=-sysv4
767 ;;
768 i*86v)
769 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
770 os=-sysv
771 ;;
772 i*86sol2)
773 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
774 os=-solaris2
775 ;;
776 i386mach)
777 basic_machine=i386-mach
778 os=-mach
779 ;;
780 i386-vsta | vsta)
781 basic_machine=i386-unknown
782 os=-vsta
783 ;;
784 iris | iris4d)
785 basic_machine=mips-sgi
786 case $os in
787 -irix*)
1282 os=cnk
1283 ;;
1284 solaris1 | solaris1.*)
1285 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286 ;;
1287 solaris)
1288 os=solaris2
1289 ;;
1290 unixware*)
1291 os=sysv4.2uw
1292 ;;
1293 gnu/linux*)
1294 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1295 ;;
1296 # es1800 is here to avoid being matched by es* (a different OS)
1297 es1800*)
1298 os=ose
1299 ;;
1300 # Some version numbers need modification
1301 chorusos*)
1302 os=chorusos
1303 ;;
1304 isc)
1305 os=isc2.2
1306 ;;
1307 sco6)
1308 os=sco5v6
1309 ;;
1310 sco5)
1311 os=sco3.2v5
1312 ;;
1313 sco4)
1314 os=sco3.2v4
1315 ;;
1316 sco3.2.[4-9]*)
1317 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1318 ;;
1319 sco3.2v[4-9]* | sco5v6*)
1320 # Don't forget version if it is 3.2v4 or newer.
1321 ;;
1322 scout)
1323 # Don't match below
1324 ;;
1325 sco*)
1326 os=sco3.2v2
1327 ;;
1328 psos*)
1329 os=psos
1330 ;;
1331 # Now accept the basic system types.
1332 # The portable systems comes first.
1333 # Each alternative MUST end in a * to match a version number.
1334 # sysv* is not here because it comes later, after sysvr4.
1335 gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1336 | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
1337 | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1338 | sym* | kopensolaris* | plan9* \
1339 | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1340 | aos* | aros* | cloudabi* | sortix* \
1341 | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1342 | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1343 | knetbsd* | mirbsd* | netbsd* \
1344 | bitrig* | openbsd* | solidbsd* | libertybsd* \
1345 | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
1346 | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1347 | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1348 | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
1349 | chorusrdb* | cegcc* | glidix* \
1350 | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1351 | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
1352 | linux-newlib* | linux-musl* | linux-uclibc* \
1353 | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1354 | interix* | uwin* | mks* | rhapsody* | darwin* \
1355 | openstep* | oskit* | conix* | pw32* | nonstopux* \
1356 | storm-chaos* | tops10* | tenex* | tops20* | its* \
1357 | os2* | vos* | palmos* | uclinux* | nucleus* \
1358 | morphos* | superux* | rtmk* | windiss* \
1359 | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1360 | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1361 | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1362 | midnightbsd*)
1363 # Remember, each alternative MUST END IN *, to match a version number.
1364 ;;
1365 qnx*)
1366 case $cpu in
1367 x86 | i*86)
7881368 ;;
7891369 *)
790 os=-irix4
1370 os=nto-$os
7911371 ;;
7921372 esac
7931373 ;;
794 isi68 | isi)
795 basic_machine=m68k-isi
796 os=-sysv
797 ;;
798 leon-*|leon[3-9]-*)
799 basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
800 ;;
801 m68knommu)
802 basic_machine=m68k-unknown
803 os=-linux
804 ;;
805 m68knommu-*)
806 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
807 os=-linux
808 ;;
809 m88k-omron*)
810 basic_machine=m88k-omron
811 ;;
812 magnum | m3230)
813 basic_machine=mips-mips
814 os=-sysv
815 ;;
816 merlin)
817 basic_machine=ns32k-utek
818 os=-sysv
819 ;;
820 microblaze*)
821 basic_machine=microblaze-xilinx
822 ;;
823 mingw64)
824 basic_machine=x86_64-pc
825 os=-mingw64
826 ;;
827 mingw32)
828 basic_machine=i686-pc
829 os=-mingw32
830 ;;
831 mingw32ce)
832 basic_machine=arm-unknown
833 os=-mingw32ce
834 ;;
835 miniframe)
836 basic_machine=m68000-convergent
837 ;;
838 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
839 basic_machine=m68k-atari
840 os=-mint
841 ;;
842 mips3*-*)
843 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
844 ;;
845 mips3*)
846 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
847 ;;
848 monitor)
849 basic_machine=m68k-rom68k
850 os=-coff
851 ;;
852 morphos)
853 basic_machine=powerpc-unknown
854 os=-morphos
855 ;;
856 moxiebox)
857 basic_machine=moxie-unknown
858 os=-moxiebox
859 ;;
860 msdos)
861 basic_machine=i386-pc
862 os=-msdos
863 ;;
864 ms1-*)
865 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
866 ;;
867 msys)
868 basic_machine=i686-pc
869 os=-msys
870 ;;
871 mvs)
872 basic_machine=i370-ibm
873 os=-mvs
874 ;;
875 nacl)
876 basic_machine=le32-unknown
877 os=-nacl
878 ;;
879 ncr3000)
880 basic_machine=i486-ncr
881 os=-sysv4
882 ;;
883 netbsd386)
884 basic_machine=i386-unknown
885 os=-netbsd
886 ;;
887 netwinder)
888 basic_machine=armv4l-rebel
889 os=-linux
890 ;;
891 news | news700 | news800 | news900)
892 basic_machine=m68k-sony
893 os=-newsos
894 ;;
895 news1000)
896 basic_machine=m68030-sony
897 os=-newsos
898 ;;
899 news-3600 | risc-news)
900 basic_machine=mips-sony
901 os=-newsos
902 ;;
903 necv70)
904 basic_machine=v70-nec
905 os=-sysv
906 ;;
907 next | m*-next )
908 basic_machine=m68k-next
909 case $os in
910 -nextstep* )
911 ;;
912 -ns2*)
913 os=-nextstep2
1374 hiux*)
1375 os=hiuxwe2
1376 ;;
1377 nto-qnx*)
1378 ;;
1379 nto*)
1380 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1381 ;;
1382 sim | xray | os68k* | v88r* \
1383 | windows* | osx | abug | netware* | os9* \
1384 | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
1385 ;;
1386 linux-dietlibc)
1387 os=linux-dietlibc
1388 ;;
1389 linux*)
1390 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1391 ;;
1392 lynx*178)
1393 os=lynxos178
1394 ;;
1395 lynx*5)
1396 os=lynxos5
1397 ;;
1398 lynx*)
1399 os=lynxos
1400 ;;
1401 mac*)
1402 os=`echo "$os" | sed -e 's|mac|macos|'`
1403 ;;
1404 opened*)
1405 os=openedition
1406 ;;
1407 os400*)
1408 os=os400
1409 ;;
1410 sunos5*)
1411 os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1412 ;;
1413 sunos6*)
1414 os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1415 ;;
1416 wince*)
1417 os=wince
1418 ;;
1419 utek*)
1420 os=bsd
1421 ;;
1422 dynix*)
1423 os=bsd
1424 ;;
1425 acis*)
1426 os=aos
1427 ;;
1428 atheos*)
1429 os=atheos
1430 ;;
1431 syllable*)
1432 os=syllable
1433 ;;
1434 386bsd)
1435 os=bsd
1436 ;;
1437 ctix* | uts*)
1438 os=sysv
1439 ;;
1440 nova*)
1441 os=rtmk-nova
1442 ;;
1443 ns2)
1444 os=nextstep2
1445 ;;
1446 nsk*)
1447 os=nsk
1448 ;;
1449 # Preserve the version number of sinix5.
1450 sinix5.*)
1451 os=`echo $os | sed -e 's|sinix|sysv|'`
1452 ;;
1453 sinix*)
1454 os=sysv4
1455 ;;
1456 tpf*)
1457 os=tpf
1458 ;;
1459 triton*)
1460 os=sysv3
1461 ;;
1462 oss*)
1463 os=sysv3
1464 ;;
1465 svr4*)
1466 os=sysv4
1467 ;;
1468 svr3)
1469 os=sysv3
1470 ;;
1471 sysvr4)
1472 os=sysv4
1473 ;;
1474 # This must come after sysvr4.
1475 sysv*)
1476 ;;
1477 ose*)
1478 os=ose
1479 ;;
1480 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1481 os=mint
1482 ;;
1483 zvmoe)
1484 os=zvmoe
1485 ;;
1486 dicos*)
1487 os=dicos
1488 ;;
1489 pikeos*)
1490 # Until real need of OS specific support for
1491 # particular features comes up, bare metal
1492 # configurations are quite functional.
1493 case $cpu in
1494 arm*)
1495 os=eabi
9141496 ;;
9151497 *)
916 os=-nextstep3
1498 os=elf
9171499 ;;
9181500 esac
9191501 ;;
920 nh3000)
921 basic_machine=m68k-harris
922 os=-cxux
923 ;;
924 nh[45]000)
925 basic_machine=m88k-harris
926 os=-cxux
927 ;;
928 nindy960)
929 basic_machine=i960-intel
930 os=-nindy
931 ;;
932 mon960)
933 basic_machine=i960-intel
934 os=-mon960
935 ;;
936 nonstopux)
937 basic_machine=mips-compaq
938 os=-nonstopux
939 ;;
940 np1)
941 basic_machine=np1-gould
942 ;;
943 neo-tandem)
944 basic_machine=neo-tandem
945 ;;
946 nse-tandem)
947 basic_machine=nse-tandem
948 ;;
949 nsr-tandem)
950 basic_machine=nsr-tandem
951 ;;
952 nsx-tandem)
953 basic_machine=nsx-tandem
954 ;;
955 op50n-* | op60c-*)
956 basic_machine=hppa1.1-oki
957 os=-proelf
958 ;;
959 openrisc | openrisc-*)
960 basic_machine=or32-unknown
961 ;;
962 os400)
963 basic_machine=powerpc-ibm
964 os=-os400
965 ;;
966 OSE68000 | ose68000)
967 basic_machine=m68000-ericsson
968 os=-ose
969 ;;
970 os68k)
971 basic_machine=m68k-none
972 os=-os68k
973 ;;
974 pa-hitachi)
975 basic_machine=hppa1.1-hitachi
976 os=-hiuxwe2
977 ;;
978 paragon)
979 basic_machine=i860-intel
980 os=-osf
981 ;;
982 parisc)
983 basic_machine=hppa-unknown
984 os=-linux
985 ;;
986 parisc-*)
987 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
988 os=-linux
989 ;;
990 pbd)
991 basic_machine=sparc-tti
992 ;;
993 pbb)
994 basic_machine=m68k-tti
995 ;;
996 pc532 | pc532-*)
997 basic_machine=ns32k-pc532
998 ;;
999 pc98)
1000 basic_machine=i386-pc
1001 ;;
1002 pc98-*)
1003 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
1004 ;;
1005 pentium | p5 | k5 | k6 | nexgen | viac3)
1006 basic_machine=i586-pc
1007 ;;
1008 pentiumpro | p6 | 6x86 | athlon | athlon_*)
1009 basic_machine=i686-pc
1010 ;;
1011 pentiumii | pentium2 | pentiumiii | pentium3)
1012 basic_machine=i686-pc
1013 ;;
1014 pentium4)
1015 basic_machine=i786-pc
1016 ;;
1017 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1018 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1019 ;;
1020 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1021 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1022 ;;
1023 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1024 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1025 ;;
1026 pentium4-*)
1027 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1028 ;;
1029 pn)
1030 basic_machine=pn-gould
1031 ;;
1032 power) basic_machine=power-ibm
1033 ;;
1034 ppc | ppcbe) basic_machine=powerpc-unknown
1035 ;;
1036 ppc-* | ppcbe-*)
1037 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1038 ;;
1039 ppcle | powerpclittle)
1040 basic_machine=powerpcle-unknown
1041 ;;
1042 ppcle-* | powerpclittle-*)
1043 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1044 ;;
1045 ppc64) basic_machine=powerpc64-unknown
1046 ;;
1047 ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1048 ;;
1049 ppc64le | powerpc64little)
1050 basic_machine=powerpc64le-unknown
1051 ;;
1052 ppc64le-* | powerpc64little-*)
1053 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1054 ;;
1055 ps2)
1056 basic_machine=i386-ibm
1057 ;;
1058 pw32)
1059 basic_machine=i586-unknown
1060 os=-pw32
1061 ;;
1062 rdos | rdos64)
1063 basic_machine=x86_64-pc
1064 os=-rdos
1065 ;;
1066 rdos32)
1067 basic_machine=i386-pc
1068 os=-rdos
1069 ;;
1070 rom68k)
1071 basic_machine=m68k-rom68k
1072 os=-coff
1073 ;;
1074 rm[46]00)
1075 basic_machine=mips-siemens
1076 ;;
1077 rtpc | rtpc-*)
1078 basic_machine=romp-ibm
1079 ;;
1080 s390 | s390-*)
1081 basic_machine=s390-ibm
1082 ;;
1083 s390x | s390x-*)
1084 basic_machine=s390x-ibm
1085 ;;
1086 sa29200)
1087 basic_machine=a29k-amd
1088 os=-udi
1089 ;;
1090 sb1)
1091 basic_machine=mipsisa64sb1-unknown
1092 ;;
1093 sb1el)
1094 basic_machine=mipsisa64sb1el-unknown
1095 ;;
1096 sde)
1097 basic_machine=mipsisa32-sde
1098 os=-elf
1099 ;;
1100 sei)
1101 basic_machine=mips-sei
1102 os=-seiux
1103 ;;
1104 sequent)
1105 basic_machine=i386-sequent
1106 ;;
1107 sh)
1108 basic_machine=sh-hitachi
1109 os=-hms
1110 ;;
1111 sh5el)
1112 basic_machine=sh5le-unknown
1113 ;;
1114 sh64)
1115 basic_machine=sh64-unknown
1116 ;;
1117 sparclite-wrs | simso-wrs)
1118 basic_machine=sparclite-wrs
1119 os=-vxworks
1120 ;;
1121 sps7)
1122 basic_machine=m68k-bull
1123 os=-sysv2
1124 ;;
1125 spur)
1126 basic_machine=spur-unknown
1127 ;;
1128 st2000)
1129 basic_machine=m68k-tandem
1130 ;;
1131 stratus)
1132 basic_machine=i860-stratus
1133 os=-sysv4
1134 ;;
1135 strongarm-* | thumb-*)
1136 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1137 ;;
1138 sun2)
1139 basic_machine=m68000-sun
1140 ;;
1141 sun2os3)
1142 basic_machine=m68000-sun
1143 os=-sunos3
1144 ;;
1145 sun2os4)
1146 basic_machine=m68000-sun
1147 os=-sunos4
1148 ;;
1149 sun3os3)
1150 basic_machine=m68k-sun
1151 os=-sunos3
1152 ;;
1153 sun3os4)
1154 basic_machine=m68k-sun
1155 os=-sunos4
1156 ;;
1157 sun4os3)
1158 basic_machine=sparc-sun
1159 os=-sunos3
1160 ;;
1161 sun4os4)
1162 basic_machine=sparc-sun
1163 os=-sunos4
1164 ;;
1165 sun4sol2)
1166 basic_machine=sparc-sun
1167 os=-solaris2
1168 ;;
1169 sun3 | sun3-*)
1170 basic_machine=m68k-sun
1171 ;;
1172 sun4)
1173 basic_machine=sparc-sun
1174 ;;
1175 sun386 | sun386i | roadrunner)
1176 basic_machine=i386-sun
1177 ;;
1178 sv1)
1179 basic_machine=sv1-cray
1180 os=-unicos
1181 ;;
1182 symmetry)
1183 basic_machine=i386-sequent
1184 os=-dynix
1185 ;;
1186 t3e)
1187 basic_machine=alphaev5-cray
1188 os=-unicos
1189 ;;
1190 t90)
1191 basic_machine=t90-cray
1192 os=-unicos
1193 ;;
1194 tile*)
1195 basic_machine=$basic_machine-unknown
1196 os=-linux-gnu
1197 ;;
1198 tx39)
1199 basic_machine=mipstx39-unknown
1200 ;;
1201 tx39el)
1202 basic_machine=mipstx39el-unknown
1203 ;;
1204 toad1)
1205 basic_machine=pdp10-xkl
1206 os=-tops20
1207 ;;
1208 tower | tower-32)
1209 basic_machine=m68k-ncr
1210 ;;
1211 tpf)
1212 basic_machine=s390x-ibm
1213 os=-tpf
1214 ;;
1215 udi29k)
1216 basic_machine=a29k-amd
1217 os=-udi
1218 ;;
1219 ultra3)
1220 basic_machine=a29k-nyu
1221 os=-sym1
1222 ;;
1223 v810 | necv810)
1224 basic_machine=v810-nec
1225 os=-none
1226 ;;
1227 vaxv)
1228 basic_machine=vax-dec
1229 os=-sysv
1230 ;;
1231 vms)
1232 basic_machine=vax-dec
1233 os=-vms
1234 ;;
1235 vpp*|vx|vx-*)
1236 basic_machine=f301-fujitsu
1237 ;;
1238 vxworks960)
1239 basic_machine=i960-wrs
1240 os=-vxworks
1241 ;;
1242 vxworks68)
1243 basic_machine=m68k-wrs
1244 os=-vxworks
1245 ;;
1246 vxworks29k)
1247 basic_machine=a29k-wrs
1248 os=-vxworks
1249 ;;
1250 wasm32)
1251 basic_machine=wasm32-unknown
1252 ;;
1253 w65*)
1254 basic_machine=w65-wdc
1255 os=-none
1256 ;;
1257 w89k-*)
1258 basic_machine=hppa1.1-winbond
1259 os=-proelf
1260 ;;
1261 xbox)
1262 basic_machine=i686-pc
1263 os=-mingw32
1264 ;;
1265 xps | xps100)
1266 basic_machine=xps100-honeywell
1267 ;;
1268 xscale-* | xscalee[bl]-*)
1269 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1270 ;;
1271 ymp)
1272 basic_machine=ymp-cray
1273 os=-unicos
1274 ;;
1275 z8k-*-coff)
1276 basic_machine=z8k-unknown
1277 os=-sim
1278 ;;
1279 z80-*-coff)
1280 basic_machine=z80-unknown
1281 os=-sim
1502 nacl*)
1503 ;;
1504 ios)
12821505 ;;
12831506 none)
1284 basic_machine=none-none
1285 os=-none
1286 ;;
1287
1288 # Here we handle the default manufacturer of certain CPU types. It is in
1289 # some cases the only manufacturer, in others, it is the most popular.
1290 w89k)
1291 basic_machine=hppa1.1-winbond
1292 ;;
1293 op50n)
1294 basic_machine=hppa1.1-oki
1295 ;;
1296 op60c)
1297 basic_machine=hppa1.1-oki
1298 ;;
1299 romp)
1300 basic_machine=romp-ibm
1301 ;;
1302 mmix)
1303 basic_machine=mmix-knuth
1304 ;;
1305 rs6000)
1306 basic_machine=rs6000-ibm
1307 ;;
1308 vax)
1309 basic_machine=vax-dec
1310 ;;
1311 pdp10)
1312 # there are many clones, so DEC is not a safe bet
1313 basic_machine=pdp10-unknown
1314 ;;
1315 pdp11)
1316 basic_machine=pdp11-dec
1317 ;;
1318 we32k)
1319 basic_machine=we32k-att
1320 ;;
1321 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1322 basic_machine=sh-unknown
1323 ;;
1324 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1325 basic_machine=sparc-sun
1326 ;;
1327 cydra)
1328 basic_machine=cydra-cydrome
1329 ;;
1330 orion)
1331 basic_machine=orion-highlevel
1332 ;;
1333 orion105)
1334 basic_machine=clipper-highlevel
1335 ;;
1336 mac | mpw | mac-mpw)
1337 basic_machine=m68k-apple
1338 ;;
1339 pmac | pmac-mpw)
1340 basic_machine=powerpc-apple
1341 ;;
1342 *-unknown)
1343 # Make sure to match an already-canonicalized machine name.
1507 ;;
1508 *-eabi)
13441509 ;;
13451510 *)
1346 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1347 exit 1
1348 ;;
1349 esac
1350
1351 # Here we canonicalize certain aliases for manufacturers.
1352 case $basic_machine in
1353 *-digital*)
1354 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1355 ;;
1356 *-commodore*)
1357 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1358 ;;
1359 *)
1360 ;;
1361 esac
1362
1363 # Decode manufacturer-specific aliases for certain operating systems.
1364
1365 if [ x"$os" != x"" ]
1366 then
1367 case $os in
1368 # First match some system type aliases
1369 # that might get confused with valid system types.
1370 # -solaris* is a basic system type, with this one exception.
1371 -auroraux)
1372 os=-auroraux
1373 ;;
1374 -solaris1 | -solaris1.*)
1375 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1376 ;;
1377 -solaris)
1378 os=-solaris2
1379 ;;
1380 -svr4*)
1381 os=-sysv4
1382 ;;
1383 -unixware*)
1384 os=-sysv4.2uw
1385 ;;
1386 -gnu/linux*)
1387 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1388 ;;
1389 # First accept the basic system types.
1390 # The portable systems comes first.
1391 # Each alternative MUST END IN A *, to match a version number.
1392 # -sysv* is not here because it comes later, after sysvr4.
1393 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1394 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1395 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1396 | -sym* | -kopensolaris* | -plan9* \
1397 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1398 | -aos* | -aros* | -cloudabi* | -sortix* \
1399 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1400 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1401 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1402 | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
1403 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1404 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1405 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1406 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1407 | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
1408 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1409 | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1410 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1411 | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1412 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1413 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1414 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1415 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1416 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1417 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1418 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1419 | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
1420 # Remember, each alternative MUST END IN *, to match a version number.
1421 ;;
1422 -qnx*)
1423 case $basic_machine in
1424 x86-* | i*86-*)
1425 ;;
1426 *)
1427 os=-nto$os
1428 ;;
1429 esac
1430 ;;
1431 -nto-qnx*)
1432 ;;
1433 -nto*)
1434 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1435 ;;
1436 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1437 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1438 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1439 ;;
1440 -mac*)
1441 os=`echo $os | sed -e 's|mac|macos|'`
1442 ;;
1443 -linux-dietlibc)
1444 os=-linux-dietlibc
1445 ;;
1446 -linux*)
1447 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1448 ;;
1449 -sunos5*)
1450 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1451 ;;
1452 -sunos6*)
1453 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1454 ;;
1455 -opened*)
1456 os=-openedition
1457 ;;
1458 -os400*)
1459 os=-os400
1460 ;;
1461 -wince*)
1462 os=-wince
1463 ;;
1464 -osfrose*)
1465 os=-osfrose
1466 ;;
1467 -osf*)
1468 os=-osf
1469 ;;
1470 -utek*)
1471 os=-bsd
1472 ;;
1473 -dynix*)
1474 os=-bsd
1475 ;;
1476 -acis*)
1477 os=-aos
1478 ;;
1479 -atheos*)
1480 os=-atheos
1481 ;;
1482 -syllable*)
1483 os=-syllable
1484 ;;
1485 -386bsd)
1486 os=-bsd
1487 ;;
1488 -ctix* | -uts*)
1489 os=-sysv
1490 ;;
1491 -nova*)
1492 os=-rtmk-nova
1493 ;;
1494 -ns2 )
1495 os=-nextstep2
1496 ;;
1497 -nsk*)
1498 os=-nsk
1499 ;;
1500 # Preserve the version number of sinix5.
1501 -sinix5.*)
1502 os=`echo $os | sed -e 's|sinix|sysv|'`
1503 ;;
1504 -sinix*)
1505 os=-sysv4
1506 ;;
1507 -tpf*)
1508 os=-tpf
1509 ;;
1510 -triton*)
1511 os=-sysv3
1512 ;;
1513 -oss*)
1514 os=-sysv3
1515 ;;
1516 -svr4)
1517 os=-sysv4
1518 ;;
1519 -svr3)
1520 os=-sysv3
1521 ;;
1522 -sysvr4)
1523 os=-sysv4
1524 ;;
1525 # This must come after -sysvr4.
1526 -sysv*)
1527 ;;
1528 -ose*)
1529 os=-ose
1530 ;;
1531 -es1800*)
1532 os=-ose
1533 ;;
1534 -xenix)
1535 os=-xenix
1536 ;;
1537 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1538 os=-mint
1539 ;;
1540 -aros*)
1541 os=-aros
1542 ;;
1543 -zvmoe)
1544 os=-zvmoe
1545 ;;
1546 -dicos*)
1547 os=-dicos
1548 ;;
1549 -nacl*)
1550 ;;
1551 -ios)
1552 ;;
1553 -none)
1554 ;;
1555 *)
1556 # Get rid of the `-' at the beginning of $os.
1557 os=`echo $os | sed 's/[^-]*-//'`
1558 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1511 echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
15591512 exit 1
15601513 ;;
15611514 esac
15711524 # will signal an error saying that MANUFACTURER isn't an operating
15721525 # system, and we'll never get to this point.
15731526
1574 case $basic_machine in
1527 case $cpu-$vendor in
15751528 score-*)
1576 os=-elf
1529 os=elf
15771530 ;;
15781531 spu-*)
1579 os=-elf
1532 os=elf
15801533 ;;
15811534 *-acorn)
1582 os=-riscix1.2
1535 os=riscix1.2
15831536 ;;
15841537 arm*-rebel)
1585 os=-linux
1538 os=linux
15861539 ;;
15871540 arm*-semi)
1588 os=-aout
1541 os=aout
15891542 ;;
15901543 c4x-* | tic4x-*)
1591 os=-coff
1544 os=coff
15921545 ;;
15931546 c8051-*)
1594 os=-elf
1547 os=elf
1548 ;;
1549 clipper-intergraph)
1550 os=clix
15951551 ;;
15961552 hexagon-*)
1597 os=-elf
1553 os=elf
15981554 ;;
15991555 tic54x-*)
1600 os=-coff
1556 os=coff
16011557 ;;
16021558 tic55x-*)
1603 os=-coff
1559 os=coff
16041560 ;;
16051561 tic6x-*)
1606 os=-coff
1562 os=coff
16071563 ;;
16081564 # This must come before the *-dec entry.
16091565 pdp10-*)
1610 os=-tops20
1566 os=tops20
16111567 ;;
16121568 pdp11-*)
1613 os=-none
1569 os=none
16141570 ;;
16151571 *-dec | vax-*)
1616 os=-ultrix4.2
1572 os=ultrix4.2
16171573 ;;
16181574 m68*-apollo)
1619 os=-domain
1575 os=domain
16201576 ;;
16211577 i386-sun)
1622 os=-sunos4.0.2
1578 os=sunos4.0.2
16231579 ;;
16241580 m68000-sun)
1625 os=-sunos3
1581 os=sunos3
16261582 ;;
16271583 m68*-cisco)
1628 os=-aout
1584 os=aout
16291585 ;;
16301586 mep-*)
1631 os=-elf
1587 os=elf
16321588 ;;
16331589 mips*-cisco)
1634 os=-elf
1590 os=elf
16351591 ;;
16361592 mips*-*)
1637 os=-elf
1593 os=elf
16381594 ;;
16391595 or32-*)
1640 os=-coff
1596 os=coff
16411597 ;;
16421598 *-tti) # must be before sparc entry or we get the wrong os.
1643 os=-sysv3
1599 os=sysv3
16441600 ;;
16451601 sparc-* | *-sun)
1646 os=-sunos4.1.1
1602 os=sunos4.1.1
16471603 ;;
16481604 pru-*)
1649 os=-elf
1605 os=elf
16501606 ;;
16511607 *-be)
1652 os=-beos
1653 ;;
1654 *-haiku)
1655 os=-haiku
1608 os=beos
16561609 ;;
16571610 *-ibm)
1658 os=-aix
1611 os=aix
16591612 ;;
16601613 *-knuth)
1661 os=-mmixware
1614 os=mmixware
16621615 ;;
16631616 *-wec)
1664 os=-proelf
1617 os=proelf
16651618 ;;
16661619 *-winbond)
1667 os=-proelf
1620 os=proelf
16681621 ;;
16691622 *-oki)
1670 os=-proelf
1623 os=proelf
16711624 ;;
16721625 *-hp)
1673 os=-hpux
1626 os=hpux
16741627 ;;
16751628 *-hitachi)
1676 os=-hiux
1629 os=hiux
16771630 ;;
16781631 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1679 os=-sysv
1632 os=sysv
16801633 ;;
16811634 *-cbm)
1682 os=-amigaos
1635 os=amigaos
16831636 ;;
16841637 *-dg)
1685 os=-dgux
1638 os=dgux
16861639 ;;
16871640 *-dolphin)
1688 os=-sysv3
1641 os=sysv3
16891642 ;;
16901643 m68k-ccur)
1691 os=-rtu
1644 os=rtu
16921645 ;;
16931646 m88k-omron*)
1694 os=-luna
1695 ;;
1696 *-next )
1697 os=-nextstep
1647 os=luna
1648 ;;
1649 *-next)
1650 os=nextstep
16981651 ;;
16991652 *-sequent)
1700 os=-ptx
1653 os=ptx
17011654 ;;
17021655 *-crds)
1703 os=-unos
1656 os=unos
17041657 ;;
17051658 *-ns)
1706 os=-genix
1659 os=genix
17071660 ;;
17081661 i370-*)
1709 os=-mvs
1710 ;;
1711 *-next)
1712 os=-nextstep3
1662 os=mvs
17131663 ;;
17141664 *-gould)
1715 os=-sysv
1665 os=sysv
17161666 ;;
17171667 *-highlevel)
1718 os=-bsd
1668 os=bsd
17191669 ;;
17201670 *-encore)
1721 os=-bsd
1671 os=bsd
17221672 ;;
17231673 *-sgi)
1724 os=-irix
1674 os=irix
17251675 ;;
17261676 *-siemens)
1727 os=-sysv4
1677 os=sysv4
17281678 ;;
17291679 *-masscomp)
1730 os=-rtu
1680 os=rtu
17311681 ;;
17321682 f30[01]-fujitsu | f700-fujitsu)
1733 os=-uxpv
1683 os=uxpv
17341684 ;;
17351685 *-rom68k)
1736 os=-coff
1686 os=coff
17371687 ;;
17381688 *-*bug)
1739 os=-coff
1689 os=coff
17401690 ;;
17411691 *-apple)
1742 os=-macos
1692 os=macos
17431693 ;;
17441694 *-atari*)
1745 os=-mint
1695 os=mint
1696 ;;
1697 *-wrs)
1698 os=vxworks
17461699 ;;
17471700 *)
1748 os=-none
1701 os=none
17491702 ;;
17501703 esac
17511704 fi
17521705
17531706 # Here we handle the case where we know the os, and the CPU type, but not the
17541707 # manufacturer. We pick the logical manufacturer.
1755 vendor=unknown
1756 case $basic_machine in
1757 *-unknown)
1708 case $vendor in
1709 unknown)
17581710 case $os in
1759 -riscix*)
1711 riscix*)
17601712 vendor=acorn
17611713 ;;
1762 -sunos*)
1714 sunos*)
17631715 vendor=sun
17641716 ;;
1765 -cnk*|-aix*)
1717 cnk*|-aix*)
17661718 vendor=ibm
17671719 ;;
1768 -beos*)
1720 beos*)
17691721 vendor=be
17701722 ;;
1771 -hpux*)
1723 hpux*)
17721724 vendor=hp
17731725 ;;
1774 -mpeix*)
1726 mpeix*)
17751727 vendor=hp
17761728 ;;
1777 -hiux*)
1729 hiux*)
17781730 vendor=hitachi
17791731 ;;
1780 -unos*)
1732 unos*)
17811733 vendor=crds
17821734 ;;
1783 -dgux*)
1735 dgux*)
17841736 vendor=dg
17851737 ;;
1786 -luna*)
1738 luna*)
17871739 vendor=omron
17881740 ;;
1789 -genix*)
1741 genix*)
17901742 vendor=ns
17911743 ;;
1792 -mvs* | -opened*)
1744 clix*)
1745 vendor=intergraph
1746 ;;
1747 mvs* | opened*)
17931748 vendor=ibm
17941749 ;;
1795 -os400*)
1750 os400*)
17961751 vendor=ibm
17971752 ;;
1798 -ptx*)
1753 ptx*)
17991754 vendor=sequent
18001755 ;;
1801 -tpf*)
1756 tpf*)
18021757 vendor=ibm
18031758 ;;
1804 -vxsim* | -vxworks* | -windiss*)
1759 vxsim* | vxworks* | windiss*)
18051760 vendor=wrs
18061761 ;;
1807 -aux*)
1762 aux*)
18081763 vendor=apple
18091764 ;;
1810 -hms*)
1765 hms*)
18111766 vendor=hitachi
18121767 ;;
1813 -mpw* | -macos*)
1768 mpw* | macos*)
18141769 vendor=apple
18151770 ;;
1816 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1771 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
18171772 vendor=atari
18181773 ;;
1819 -vos*)
1774 vos*)
18201775 vendor=stratus
18211776 ;;
18221777 esac
1823 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
18241778 ;;
18251779 esac
18261780
1827 echo $basic_machine$os
1781 echo "$cpu-$vendor-$os"
18281782 exit
18291783
18301784 # Local variables:
1831 # eval: (add-hook 'write-file-hooks 'time-stamp)
1785 # eval: (add-hook 'before-save-hook 'time-stamp)
18321786 # time-stamp-start: "timestamp='"
18331787 # time-stamp-format: "%:y-%02m-%02d"
18341788 # time-stamp-end: "'"
00 #! /bin/sh
11 # depcomp - compile a program generating dependencies as side-effects
22
3 scriptversion=2016-01-11.22; # UTC
4
5 # Copyright (C) 1999-2017 Free Software Foundation, Inc.
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
66
77 # This program is free software; you can redistribute it and/or modify
88 # it under the terms of the GNU General Public License as published by
1515 # GNU General Public License for more details.
1616
1717 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 # along with this program. If not, see <https://www.gnu.org/licenses/>.
1919
2020 # As a special exception to the GNU General Public License, if you
2121 # distribute this file as part of a program that contains a
782782 # Local Variables:
783783 # mode: shell-script
784784 # sh-indentation: 2
785 # eval: (add-hook 'write-file-hooks 'time-stamp)
785 # eval: (add-hook 'before-save-hook 'time-stamp)
786786 # time-stamp-start: "scriptversion="
787787 # time-stamp-format: "%:y-%02m-%02d.%02H"
788788 # time-stamp-time-zone: "UTC0"
00 #!/bin/sh
11 # install - install a program, script, or datafile
22
3 scriptversion=2016-01-11.22; # UTC
3 scriptversion=2018-03-11.20; # UTC
44
55 # This originates from X11R5 (mit/util/scripts/install.sh), which was
66 # later released in X11R6 (xc/config/util/install.sh) with the
270270 fi
271271 dst=$dst_arg
272272
273 # If destination is a directory, append the input filename; won't work
274 # if double slashes aren't ignored.
273 # If destination is a directory, append the input filename.
275274 if test -d "$dst"; then
276275 if test "$is_target_a_directory" = never; then
277276 echo "$0: $dst_arg: Is a directory" >&2
278277 exit 1
279278 fi
280279 dstdir=$dst
281 dst=$dstdir/`basename "$src"`
280 dstbase=`basename "$src"`
281 case $dst in
282 */) dst=$dst$dstbase;;
283 *) dst=$dst/$dstbase;;
284 esac
282285 dstdir_status=0
283286 else
284287 dstdir=`dirname "$dst"`
286289 dstdir_status=$?
287290 fi
288291 fi
292
293 case $dstdir in
294 */) dstdirslash=$dstdir;;
295 *) dstdirslash=$dstdir/;;
296 esac
289297
290298 obsolete_mkdir_used=false
291299
323331 # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
324332 ;;
325333 *)
334 # Note that $RANDOM variable is not portable (e.g. dash); Use it
335 # here however when possible just to lower collision chance.
326336 tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
327 trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
328
337
338 trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
339
340 # Because "mkdir -p" follows existing symlinks and we likely work
341 # directly in world-writeable /tmp, make sure that the '$tmpdir'
342 # directory is successfully created first before we actually test
343 # 'mkdir -p' feature.
329344 if (umask $mkdir_umask &&
330 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
345 $mkdirprog $mkdir_mode "$tmpdir" &&
346 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
331347 then
332348 if test -z "$dir_arg" || {
333349 # Check for POSIX incompatibilities with -m.
334350 # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
335351 # other-writable bit of parent directory when it shouldn't.
336352 # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
337 ls_ld_tmpdir=`ls -ld "$tmpdir"`
353 test_tmpdir="$tmpdir/a"
354 ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
338355 case $ls_ld_tmpdir in
339356 d????-?r-*) different_mode=700;;
340357 d????-?--*) different_mode=755;;
341358 *) false;;
342359 esac &&
343 $mkdirprog -m$different_mode -p -- "$tmpdir" && {
344 ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
360 $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
361 ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
345362 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
346363 }
347364 }
348365 then posix_mkdir=:
349366 fi
350 rmdir "$tmpdir/d" "$tmpdir"
367 rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
351368 else
352369 # Remove any dirs left behind by ancient mkdir implementations.
353 rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
370 rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
354371 fi
355372 trap '' 0;;
356373 esac;;
426443 else
427444
428445 # Make a couple of temp file names in the proper directory.
429 dsttmp=$dstdir/_inst.$$_
430 rmtmp=$dstdir/_rm.$$_
446 dsttmp=${dstdirslash}_inst.$$_
447 rmtmp=${dstdirslash}_rm.$$_
431448
432449 # Trap to clean up those temp files at exit.
433450 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
492509 done
493510
494511 # Local variables:
495 # eval: (add-hook 'write-file-hooks 'time-stamp)
512 # eval: (add-hook 'before-save-hook 'time-stamp)
496513 # time-stamp-start: "scriptversion="
497514 # time-stamp-format: "%:y-%02m-%02d.%02H"
498515 # time-stamp-time-zone: "UTC0"
00 #! /bin/sh
11 # Common wrapper for a few potentially missing GNU programs.
22
3 scriptversion=2016-01-11.22; # UTC
4
5 # Copyright (C) 1996-2017 Free Software Foundation, Inc.
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
66 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
77
88 # This program is free software; you can redistribute it and/or modify
1616 # GNU General Public License for more details.
1717
1818 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 # along with this program. If not, see <https://www.gnu.org/licenses/>.
2020
2121 # As a special exception to the GNU General Public License, if you
2222 # distribute this file as part of a program that contains a
100100 exit $st
101101 fi
102102
103 perl_URL=http://www.perl.org/
104 flex_URL=http://flex.sourceforge.net/
105 gnu_software_URL=http://www.gnu.org/software
103 perl_URL=https://www.perl.org/
104 flex_URL=https://github.com/westes/flex
105 gnu_software_URL=https://www.gnu.org/software
106106
107107 program_details ()
108108 {
206206 exit $st
207207
208208 # Local variables:
209 # eval: (add-hook 'write-file-hooks 'time-stamp)
209 # eval: (add-hook 'before-save-hook 'time-stamp)
210210 # time-stamp-start: "scriptversion="
211211 # time-stamp-format: "%:y-%02m-%02d.%02H"
212212 # time-stamp-time-zone: "UTC0"
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for iio-sensor-proxy 2.4.
2 # Generated by GNU Autoconf 2.69 for iio-sensor-proxy 2.8.
33 #
44 # Report bugs to <hadess@hadess.net>.
55 #
579579 # Identity of this package.
580580 PACKAGE_NAME='iio-sensor-proxy'
581581 PACKAGE_TARNAME='iio-sensor-proxy'
582 PACKAGE_VERSION='2.4'
583 PACKAGE_STRING='iio-sensor-proxy 2.4'
582 PACKAGE_VERSION='2.8'
583 PACKAGE_STRING='iio-sensor-proxy 2.8'
584584 PACKAGE_BUGREPORT='hadess@hadess.net'
585585 PACKAGE_URL=''
586586
640640 AMDEPBACKSLASH
641641 AMDEP_FALSE
642642 AMDEP_TRUE
643 am__quote
644643 am__include
645644 DEPDIR
646645 OBJEXT
714713 PACKAGE_TARNAME
715714 PACKAGE_NAME
716715 PATH_SEPARATOR
717 SHELL'
716 SHELL
717 am__quote'
718718 ac_subst_files=''
719719 ac_user_opts='
720720 enable_option_checking
12881288 # Omit some internal or obsolete options to make the list less imposing.
12891289 # This message is too long to be a string in the A/UX 3.1 sh.
12901290 cat <<_ACEOF
1291 \`configure' configures iio-sensor-proxy 2.4 to adapt to many kinds of systems.
1291 \`configure' configures iio-sensor-proxy 2.8 to adapt to many kinds of systems.
12921292
12931293 Usage: $0 [OPTION]... [VAR=VALUE]...
12941294
13591359
13601360 if test -n "$ac_init_help"; then
13611361 case $ac_init_help in
1362 short | recursive ) echo "Configuration of iio-sensor-proxy 2.4:";;
1362 short | recursive ) echo "Configuration of iio-sensor-proxy 2.8:";;
13631363 esac
13641364 cat <<\_ACEOF
13651365
14841484 test -n "$ac_init_help" && exit $ac_status
14851485 if $ac_init_version; then
14861486 cat <<\_ACEOF
1487 iio-sensor-proxy configure 2.4
1487 iio-sensor-proxy configure 2.8
14881488 generated by GNU Autoconf 2.69
14891489
14901490 Copyright (C) 2012 Free Software Foundation, Inc.
15851585 This file contains any messages produced by compilers while
15861586 running configure, to aid debugging if configure makes a mistake.
15871587
1588 It was created by iio-sensor-proxy $as_me 2.4, which was
1588 It was created by iio-sensor-proxy $as_me 2.8, which was
15891589 generated by GNU Autoconf 2.69. Invocation command line was
15901590
15911591 $ $0 $@
19781978
19791979
19801980
1981 am__api_version='1.15'
1981 am__api_version='1.16'
19821982
19831983 # Find a good install program. We prefer a C program (faster),
19841984 # so one script is as good as another. But avoid the broken or
24642464
24652465 # Define the identity of the package.
24662466 PACKAGE='iio-sensor-proxy'
2467 VERSION='2.4'
2467 VERSION='2.8'
24682468
24692469
24702470 cat >>confdefs.h <<_ACEOF
24942494
24952495 # For better backward compatibility. To be removed once Automake 1.9.x
24962496 # dies out for good. For more background, see:
2497 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
2498 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
2497 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
2498 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
24992499 mkdir_p='$(MKDIR_P)'
25002500
25012501 # We need awk for the "check" target (and possibly the TAP driver). The
25462546 Aborting the configuration process, to ensure you take notice of the issue.
25472547
25482548 You can download and install GNU coreutils to get an 'rm' implementation
2549 that behaves properly: <http://www.gnu.org/software/coreutils/>.
2549 that behaves properly: <https://www.gnu.org/software/coreutils/>.
25502550
25512551 If you want to complete the configuration process using your problematic
25522552 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
34503450
34513451 ac_config_commands="$ac_config_commands depfiles"
34523452
3453
3454 am_make=${MAKE-make}
3455 cat > confinc << 'END'
3453 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
3454 $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
3455 cat > confinc.mk << 'END'
34563456 am__doit:
3457 @echo this is the am__doit target
3457 @echo this is the am__doit target >confinc.out
34583458 .PHONY: am__doit
34593459 END
3460 # If we don't find an include directive, just comment out the code.
3461 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
3462 $as_echo_n "checking for style of include used by $am_make... " >&6; }
34633460 am__include="#"
34643461 am__quote=
3465 _am_result=none
3466 # First try GNU make style include.
3467 echo "include confinc" > confmf
3468 # Ignore all kinds of additional output from 'make'.
3469 case `$am_make -s -f confmf 2> /dev/null` in #(
3470 *the\ am__doit\ target*)
3471 am__include=include
3472 am__quote=
3473 _am_result=GNU
3474 ;;
3462 # BSD make does it like this.
3463 echo '.include "confinc.mk" # ignored' > confmf.BSD
3464 # Other make implementations (GNU, Solaris 10, AIX) do it like this.
3465 echo 'include confinc.mk # ignored' > confmf.GNU
3466 _am_result=no
3467 for s in GNU BSD; do
3468 { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
3469 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
3470 ac_status=$?
3471 echo "$as_me:$LINENO: \$? = $ac_status" >&5
3472 (exit $ac_status); }
3473 case $?:`cat confinc.out 2>/dev/null` in #(
3474 '0:this is the am__doit target') :
3475 case $s in #(
3476 BSD) :
3477 am__include='.include' am__quote='"' ;; #(
3478 *) :
3479 am__include='include' am__quote='' ;;
3480 esac ;; #(
3481 *) :
3482 ;;
34753483 esac
3476 # Now try BSD make style include.
3477 if test "$am__include" = "#"; then
3478 echo '.include "confinc"' > confmf
3479 case `$am_make -s -f confmf 2> /dev/null` in #(
3480 *the\ am__doit\ target*)
3481 am__include=.include
3482 am__quote="\""
3483 _am_result=BSD
3484 ;;
3485 esac
3486 fi
3487
3488
3489 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
3490 $as_echo "$_am_result" >&6; }
3491 rm -f confinc confmf
3484 if test "$am__include" != "#"; then
3485 _am_result="yes ($s style)"
3486 break
3487 fi
3488 done
3489 rm -f confinc.* confmf.*
3490 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
3491 $as_echo "${_am_result}" >&6; }
34923492
34933493 # Check whether --enable-dependency-tracking was given.
34943494 if test "${enable_dependency_tracking+set}" = set; then :
40104010 ac_compiler_gnu=$ac_cv_c_compiler_gnu
40114011
40124012
4013 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4014 /* end confdefs.h. */
4015
4016 #ifndef __cplusplus
4017 #error "no C++"
4018 #endif
4019 int
4020 main ()
4021 {
4022
4023 ;
4024 return 0;
4025 }
4026 _ACEOF
4027 if ac_fn_c_try_compile "$LINENO"; then :
4028 ax_compiler_cxx=yes;
4029 else
4030 ax_compiler_cxx=no;
4031 fi
4032 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4033
40134034 # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
40144035 # flags, otherwise they are always appended to the warn_cflags variable, and
40154036 # Clang warns on them for every compilation unit.
41754196
41764197 if test "$ax_enable_compile_warnings" != "no"; then :
41774198
4199 if test "$ax_compiler_cxx" = "no" ; then
4200 # C-only flags. Warn in C++
4201
4202
4203
4204
4205 for flag in -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init ; do
4206 as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
4207 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
4208 $as_echo_n "checking whether C compiler accepts $flag... " >&6; }
4209 if eval \${$as_CACHEVAR+:} false; then :
4210 $as_echo_n "(cached) " >&6
4211 else
4212
4213 ax_check_save_flags=$CFLAGS
4214 CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
4215 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4216 /* end confdefs.h. */
4217
4218 int
4219 main ()
4220 {
4221
4222 ;
4223 return 0;
4224 }
4225 _ACEOF
4226 if ac_fn_c_try_compile "$LINENO"; then :
4227 eval "$as_CACHEVAR=yes"
4228 else
4229 eval "$as_CACHEVAR=no"
4230 fi
4231 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4232 CFLAGS=$ax_check_save_flags
4233 fi
4234 eval ac_res=\$$as_CACHEVAR
4235 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
4236 $as_echo "$ac_res" >&6; }
4237 if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
4238
4239 if ${WARN_CFLAGS+:} false; then :
4240
4241 case " $WARN_CFLAGS " in #(
4242 *" $flag "*) :
4243 { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
4244 (: WARN_CFLAGS already contains $flag) 2>&5
4245 ac_status=$?
4246 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4247 test $ac_status = 0; } ;; #(
4248 *) :
4249
4250 as_fn_append WARN_CFLAGS " $flag"
4251 { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
4252 (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
4253 ac_status=$?
4254 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4255 test $ac_status = 0; }
4256 ;;
4257 esac
4258
4259 else
4260
4261 WARN_CFLAGS=$flag
4262 { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
4263 (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
4264 ac_status=$?
4265 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4266 test $ac_status = 0; }
4267
4268 fi
4269
4270 else
4271 :
4272 fi
4273
4274 done
4275
4276 fi
4277
41784278 # "yes" flags
41794279
41804280
41814281
41824282
4183 for flag in -Wall -Wextra -Wundef -Wnested-externs -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wformat=2 -Wold-style-definition -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wimplicit-function-declaration -Wreturn-type -Wswitch-enum -Wswitch-default ; do
4283 for flag in -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion ; do
41844284 as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
41854285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
41864286 $as_echo_n "checking whether C compiler accepts $flag... " >&6; }
45314631 fi
45324632
45334633
4534 # macOS linker does not have --as-needed
4634 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--as-needed" >&5
4635 $as_echo_n "checking whether the linker accepts -Wl,--as-needed... " >&6; }
4636 if ${ax_cv_check_ldflags___Wl___as_needed+:} false; then :
4637 $as_echo_n "(cached) " >&6
4638 else
4639
4640 ax_check_save_flags=$LDFLAGS
4641 LDFLAGS="$LDFLAGS -Wl,--as-needed"
4642 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4643 /* end confdefs.h. */
4644
4645 int
4646 main ()
4647 {
4648
4649 ;
4650 return 0;
4651 }
4652 _ACEOF
4653 if ac_fn_c_try_link "$LINENO"; then :
4654 ax_cv_check_ldflags___Wl___as_needed=yes
4655 else
4656 ax_cv_check_ldflags___Wl___as_needed=no
4657 fi
4658 rm -f core conftest.err conftest.$ac_objext \
4659 conftest$ac_exeext conftest.$ac_ext
4660 LDFLAGS=$ax_check_save_flags
4661 fi
4662 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___as_needed" >&5
4663 $as_echo "$ax_cv_check_ldflags___Wl___as_needed" >&6; }
4664 if test "x$ax_cv_check_ldflags___Wl___as_needed" = xyes; then :
4665
4666
4667
4668
4669
4670 for flag in -Wl,--as-needed; do
4671 as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
4672 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
4673 $as_echo_n "checking whether the linker accepts $flag... " >&6; }
4674 if eval \${$as_CACHEVAR+:} false; then :
4675 $as_echo_n "(cached) " >&6
4676 else
4677
4678 ax_check_save_flags=$LDFLAGS
4679 LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
4680 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4681 /* end confdefs.h. */
4682
4683 int
4684 main ()
4685 {
4686
4687 ;
4688 return 0;
4689 }
4690 _ACEOF
4691 if ac_fn_c_try_link "$LINENO"; then :
4692 eval "$as_CACHEVAR=yes"
4693 else
4694 eval "$as_CACHEVAR=no"
4695 fi
4696 rm -f core conftest.err conftest.$ac_objext \
4697 conftest$ac_exeext conftest.$ac_ext
4698 LDFLAGS=$ax_check_save_flags
4699 fi
4700 eval ac_res=\$$as_CACHEVAR
4701 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
4702 $as_echo "$ac_res" >&6; }
4703 if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
4704
4705 if ${AM_LDFLAGS+:} false; then :
4706
4707 case " $AM_LDFLAGS " in #(
4708 *" $flag "*) :
4709 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5
4710 (: AM_LDFLAGS already contains $flag) 2>&5
4711 ac_status=$?
4712 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4713 test $ac_status = 0; } ;; #(
4714 *) :
4715
4716 as_fn_append AM_LDFLAGS " $flag"
4717 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
4718 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
4719 ac_status=$?
4720 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4721 test $ac_status = 0; }
4722 ;;
4723 esac
4724
4725 else
4726
4727 AM_LDFLAGS=$flag
4728 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
4729 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
4730 ac_status=$?
4731 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4732 test $ac_status = 0; }
4733
4734 fi
4735
4736 else
4737 :
4738 fi
4739
4740 done
4741
4742
4743 else
4744 :
4745 fi
4746
4747 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,relro" >&5
4748 $as_echo_n "checking whether the linker accepts -Wl,-z,relro... " >&6; }
4749 if ${ax_cv_check_ldflags___Wl__z_relro+:} false; then :
4750 $as_echo_n "(cached) " >&6
4751 else
4752
4753 ax_check_save_flags=$LDFLAGS
4754 LDFLAGS="$LDFLAGS -Wl,-z,relro"
4755 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4756 /* end confdefs.h. */
4757
4758 int
4759 main ()
4760 {
4761
4762 ;
4763 return 0;
4764 }
4765 _ACEOF
4766 if ac_fn_c_try_link "$LINENO"; then :
4767 ax_cv_check_ldflags___Wl__z_relro=yes
4768 else
4769 ax_cv_check_ldflags___Wl__z_relro=no
4770 fi
4771 rm -f core conftest.err conftest.$ac_objext \
4772 conftest$ac_exeext conftest.$ac_ext
4773 LDFLAGS=$ax_check_save_flags
4774 fi
4775 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_relro" >&5
4776 $as_echo "$ax_cv_check_ldflags___Wl__z_relro" >&6; }
4777 if test "x$ax_cv_check_ldflags___Wl__z_relro" = xyes; then :
4778
4779
4780
4781
4782
4783 for flag in -Wl,-z,relro; do
4784 as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
4785 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
4786 $as_echo_n "checking whether the linker accepts $flag... " >&6; }
4787 if eval \${$as_CACHEVAR+:} false; then :
4788 $as_echo_n "(cached) " >&6
4789 else
4790
4791 ax_check_save_flags=$LDFLAGS
4792 LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
4793 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4794 /* end confdefs.h. */
4795
4796 int
4797 main ()
4798 {
4799
4800 ;
4801 return 0;
4802 }
4803 _ACEOF
4804 if ac_fn_c_try_link "$LINENO"; then :
4805 eval "$as_CACHEVAR=yes"
4806 else
4807 eval "$as_CACHEVAR=no"
4808 fi
4809 rm -f core conftest.err conftest.$ac_objext \
4810 conftest$ac_exeext conftest.$ac_ext
4811 LDFLAGS=$ax_check_save_flags
4812 fi
4813 eval ac_res=\$$as_CACHEVAR
4814 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
4815 $as_echo "$ac_res" >&6; }
4816 if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
4817
4818 if ${AM_LDFLAGS+:} false; then :
4819
4820 case " $AM_LDFLAGS " in #(
4821 *" $flag "*) :
4822 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5
4823 (: AM_LDFLAGS already contains $flag) 2>&5
4824 ac_status=$?
4825 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4826 test $ac_status = 0; } ;; #(
4827 *) :
4828
4829 as_fn_append AM_LDFLAGS " $flag"
4830 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
4831 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
4832 ac_status=$?
4833 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4834 test $ac_status = 0; }
4835 ;;
4836 esac
4837
4838 else
4839
4840 AM_LDFLAGS=$flag
4841 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
4842 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
4843 ac_status=$?
4844 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4845 test $ac_status = 0; }
4846
4847 fi
4848
4849 else
4850 :
4851 fi
4852
4853 done
4854
4855
4856 else
4857 :
4858 fi
4859
4860 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,now" >&5
4861 $as_echo_n "checking whether the linker accepts -Wl,-z,now... " >&6; }
4862 if ${ax_cv_check_ldflags___Wl__z_now+:} false; then :
4863 $as_echo_n "(cached) " >&6
4864 else
4865
4866 ax_check_save_flags=$LDFLAGS
4867 LDFLAGS="$LDFLAGS -Wl,-z,now"
4868 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4869 /* end confdefs.h. */
4870
4871 int
4872 main ()
4873 {
4874
4875 ;
4876 return 0;
4877 }
4878 _ACEOF
4879 if ac_fn_c_try_link "$LINENO"; then :
4880 ax_cv_check_ldflags___Wl__z_now=yes
4881 else
4882 ax_cv_check_ldflags___Wl__z_now=no
4883 fi
4884 rm -f core conftest.err conftest.$ac_objext \
4885 conftest$ac_exeext conftest.$ac_ext
4886 LDFLAGS=$ax_check_save_flags
4887 fi
4888 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_now" >&5
4889 $as_echo "$ax_cv_check_ldflags___Wl__z_now" >&6; }
4890 if test "x$ax_cv_check_ldflags___Wl__z_now" = xyes; then :
4891
4892
4893
4894
4895
4896 for flag in -Wl,-z,now; do
4897 as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
4898 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
4899 $as_echo_n "checking whether the linker accepts $flag... " >&6; }
4900 if eval \${$as_CACHEVAR+:} false; then :
4901 $as_echo_n "(cached) " >&6
4902 else
4903
4904 ax_check_save_flags=$LDFLAGS
4905 LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
4906 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4907 /* end confdefs.h. */
4908
4909 int
4910 main ()
4911 {
4912
4913 ;
4914 return 0;
4915 }
4916 _ACEOF
4917 if ac_fn_c_try_link "$LINENO"; then :
4918 eval "$as_CACHEVAR=yes"
4919 else
4920 eval "$as_CACHEVAR=no"
4921 fi
4922 rm -f core conftest.err conftest.$ac_objext \
4923 conftest$ac_exeext conftest.$ac_ext
4924 LDFLAGS=$ax_check_save_flags
4925 fi
4926 eval ac_res=\$$as_CACHEVAR
4927 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
4928 $as_echo "$ac_res" >&6; }
4929 if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
4930
4931 if ${AM_LDFLAGS+:} false; then :
4932
4933 case " $AM_LDFLAGS " in #(
4934 *" $flag "*) :
4935 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5
4936 (: AM_LDFLAGS already contains $flag) 2>&5
4937 ac_status=$?
4938 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4939 test $ac_status = 0; } ;; #(
4940 *) :
4941
4942 as_fn_append AM_LDFLAGS " $flag"
4943 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
4944 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
4945 ac_status=$?
4946 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4947 test $ac_status = 0; }
4948 ;;
4949 esac
4950
4951 else
4952
4953 AM_LDFLAGS=$flag
4954 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
4955 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
4956 ac_status=$?
4957 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4958 test $ac_status = 0; }
4959
4960 fi
4961
4962 else
4963 :
4964 fi
4965
4966 done
4967
4968
4969 else
4970 :
4971 fi
4972
4973 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,noexecstack" >&5
4974 $as_echo_n "checking whether the linker accepts -Wl,-z,noexecstack... " >&6; }
4975 if ${ax_cv_check_ldflags___Wl__z_noexecstack+:} false; then :
4976 $as_echo_n "(cached) " >&6
4977 else
4978
4979 ax_check_save_flags=$LDFLAGS
4980 LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
4981 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4982 /* end confdefs.h. */
4983
4984 int
4985 main ()
4986 {
4987
4988 ;
4989 return 0;
4990 }
4991 _ACEOF
4992 if ac_fn_c_try_link "$LINENO"; then :
4993 ax_cv_check_ldflags___Wl__z_noexecstack=yes
4994 else
4995 ax_cv_check_ldflags___Wl__z_noexecstack=no
4996 fi
4997 rm -f core conftest.err conftest.$ac_objext \
4998 conftest$ac_exeext conftest.$ac_ext
4999 LDFLAGS=$ax_check_save_flags
5000 fi
5001 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_noexecstack" >&5
5002 $as_echo "$ax_cv_check_ldflags___Wl__z_noexecstack" >&6; }
5003 if test "x$ax_cv_check_ldflags___Wl__z_noexecstack" = xyes; then :
5004
5005
5006
5007
5008
5009 for flag in -Wl,-z,noexecstack; do
5010 as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
5011 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
5012 $as_echo_n "checking whether the linker accepts $flag... " >&6; }
5013 if eval \${$as_CACHEVAR+:} false; then :
5014 $as_echo_n "(cached) " >&6
5015 else
5016
5017 ax_check_save_flags=$LDFLAGS
5018 LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
5019 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5020 /* end confdefs.h. */
5021
5022 int
5023 main ()
5024 {
5025
5026 ;
5027 return 0;
5028 }
5029 _ACEOF
5030 if ac_fn_c_try_link "$LINENO"; then :
5031 eval "$as_CACHEVAR=yes"
5032 else
5033 eval "$as_CACHEVAR=no"
5034 fi
5035 rm -f core conftest.err conftest.$ac_objext \
5036 conftest$ac_exeext conftest.$ac_ext
5037 LDFLAGS=$ax_check_save_flags
5038 fi
5039 eval ac_res=\$$as_CACHEVAR
5040 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
5041 $as_echo "$ac_res" >&6; }
5042 if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
5043
5044 if ${AM_LDFLAGS+:} false; then :
5045
5046 case " $AM_LDFLAGS " in #(
5047 *" $flag "*) :
5048 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5
5049 (: AM_LDFLAGS already contains $flag) 2>&5
5050 ac_status=$?
5051 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
5052 test $ac_status = 0; } ;; #(
5053 *) :
5054
5055 as_fn_append AM_LDFLAGS " $flag"
5056 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
5057 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
5058 ac_status=$?
5059 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
5060 test $ac_status = 0; }
5061 ;;
5062 esac
5063
5064 else
5065
5066 AM_LDFLAGS=$flag
5067 { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5
5068 (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5
5069 ac_status=$?
5070 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
5071 test $ac_status = 0; }
5072
5073 fi
5074
5075 else
5076 :
5077 fi
5078
5079 done
5080
5081
5082 else
5083 :
5084 fi
5085
5086 # textonly, retpolineplt not yet
5087
5088 # macOS and cygwin linker do not have --as-needed
45355089 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--no-as-needed" >&5
45365090 $as_echo_n "checking whether the linker accepts -Wl,--no-as-needed... " >&6; }
45375091 if ${ax_cv_check_ldflags___Wl___no_as_needed+:} false; then :
64046958 # report actual input values of CONFIG_FILES etc. instead of their
64056959 # values after options handling.
64066960 ac_log="
6407 This file was extended by iio-sensor-proxy $as_me 2.4, which was
6961 This file was extended by iio-sensor-proxy $as_me 2.8, which was
64086962 generated by GNU Autoconf 2.69. Invocation command line was
64096963
64106964 CONFIG_FILES = $CONFIG_FILES
64617015 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
64627016 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
64637017 ac_cs_version="\\
6464 iio-sensor-proxy config.status 2.4
7018 iio-sensor-proxy config.status 2.8
64657019 configured by $0, generated by GNU Autoconf 2.69,
64667020 with options \\"\$ac_cs_config\\"
64677021
65697123 #
65707124 # INIT-COMMANDS
65717125 #
6572 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
7126 AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
65737127
65747128 _ACEOF
65757129
70187572 # Older Autoconf quotes --file arguments for eval, but not when files
70197573 # are listed without --file. Let's play safe and only enable the eval
70207574 # if we detect the quoting.
7021 case $CONFIG_FILES in
7022 *\'*) eval set x "$CONFIG_FILES" ;;
7023 *) set x $CONFIG_FILES ;;
7024 esac
7575 # TODO: see whether this extra hack can be removed once we start
7576 # requiring Autoconf 2.70 or later.
7577 case $CONFIG_FILES in #(
7578 *\'*) :
7579 eval set x "$CONFIG_FILES" ;; #(
7580 *) :
7581 set x $CONFIG_FILES ;; #(
7582 *) :
7583 ;;
7584 esac
70257585 shift
7026 for mf
7586 # Used to flag and report bootstrapping failures.
7587 am_rc=0
7588 for am_mf
70277589 do
70287590 # Strip MF so we end up with the name of the file.
7029 mf=`echo "$mf" | sed -e 's/:.*$//'`
7030 # Check whether this is an Automake generated Makefile or not.
7031 # We used to match only the files named 'Makefile.in', but
7032 # some people rename them; so instead we look at the file content.
7033 # Grep'ing the first line is not enough: some people post-process
7034 # each Makefile.in and add a new line on top of each file to say so.
7035 # Grep'ing the whole file is not good either: AIX grep has a line
7591 am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
7592 # Check whether this is an Automake generated Makefile which includes
7593 # dependency-tracking related rules and includes.
7594 # Grep'ing the whole file directly is not great: AIX grep has a line
70367595 # limit of 2048, but all sed's we know have understand at least 4000.
7037 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
7038 dirpart=`$as_dirname -- "$mf" ||
7039 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
7040 X"$mf" : 'X\(//\)[^/]' \| \
7041 X"$mf" : 'X\(//\)$' \| \
7042 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
7043 $as_echo X"$mf" |
7596 sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
7597 || continue
7598 am_dirpart=`$as_dirname -- "$am_mf" ||
7599 $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
7600 X"$am_mf" : 'X\(//\)[^/]' \| \
7601 X"$am_mf" : 'X\(//\)$' \| \
7602 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
7603 $as_echo X"$am_mf" |
70447604 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
70457605 s//\1/
70467606 q
70587618 q
70597619 }
70607620 s/.*/./; q'`
7061 else
7062 continue
7063 fi
7064 # Extract the definition of DEPDIR, am__include, and am__quote
7065 # from the Makefile without running 'make'.
7066 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
7067 test -z "$DEPDIR" && continue
7068 am__include=`sed -n 's/^am__include = //p' < "$mf"`
7069 test -z "$am__include" && continue
7070 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
7071 # Find all dependency output files, they are included files with
7072 # $(DEPDIR) in their names. We invoke sed twice because it is the
7073 # simplest approach to changing $(DEPDIR) to its actual value in the
7074 # expansion.
7075 for file in `sed -n "
7076 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
7077 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
7078 # Make sure the directory exists.
7079 test -f "$dirpart/$file" && continue
7080 fdir=`$as_dirname -- "$file" ||
7081 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
7082 X"$file" : 'X\(//\)[^/]' \| \
7083 X"$file" : 'X\(//\)$' \| \
7084 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
7085 $as_echo X"$file" |
7086 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
7621 am_filepart=`$as_basename -- "$am_mf" ||
7622 $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
7623 X"$am_mf" : 'X\(//\)$' \| \
7624 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
7625 $as_echo X/"$am_mf" |
7626 sed '/^.*\/\([^/][^/]*\)\/*$/{
70877627 s//\1/
70887628 q
70897629 }
7090 /^X\(\/\/\)[^/].*/{
7630 /^X\/\(\/\/\)$/{
70917631 s//\1/
70927632 q
70937633 }
7094 /^X\(\/\/\)$/{
7095 s//\1/
7096 q
7097 }
7098 /^X\(\/\).*/{
7634 /^X\/\(\/\).*/{
70997635 s//\1/
71007636 q
71017637 }
71027638 s/.*/./; q'`
7103 as_dir=$dirpart/$fdir; as_fn_mkdir_p
7104 # echo "creating $dirpart/$file"
7105 echo '# dummy' > "$dirpart/$file"
7106 done
7639 { echo "$as_me:$LINENO: cd "$am_dirpart" \
7640 && sed -e '/# am--include-marker/d' "$am_filepart" \
7641 | $MAKE -f - am--depfiles" >&5
7642 (cd "$am_dirpart" \
7643 && sed -e '/# am--include-marker/d' "$am_filepart" \
7644 | $MAKE -f - am--depfiles) >&5 2>&5
7645 ac_status=$?
7646 echo "$as_me:$LINENO: \$? = $ac_status" >&5
7647 (exit $ac_status); } || am_rc=$?
71077648 done
7649 if test $am_rc -ne 0; then
7650 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
7651 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
7652 as_fn_error $? "Something went wrong bootstrapping makefile fragments
7653 for automatic dependency tracking. Try re-running configure with the
7654 '--disable-dependency-tracking' option to at least be able to build
7655 the package (albeit without support for automatic dependency tracking).
7656 See \`config.log' for more details" "$LINENO" 5; }
7657 fi
7658 { am_dirpart=; unset am_dirpart;}
7659 { am_filepart=; unset am_filepart;}
7660 { am_mf=; unset am_mf;}
7661 { am_rc=; unset am_rc;}
7662 rm -f conftest-deps.mk
71087663 }
71097664 ;;
71107665
00 AC_PREREQ(2.59)
11
2 AC_INIT([iio-sensor-proxy], [2.4], [hadess@hadess.net])
2 AC_INIT([iio-sensor-proxy], [2.8], [hadess@hadess.net])
33
44 AX_IS_RELEASE([git-directory])
55
0 # Makefile.in generated by automake 1.15.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2017 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
303303 *config.status*) \
304304 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
305305 *) \
306 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
307 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
306 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
307 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
308308 esac;
309309
310310 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
385385 cscope cscopelist:
386386
387387
388 distdir: $(DISTFILES)
388 distdir: $(BUILT_SOURCES)
389 $(MAKE) $(AM_MAKEFLAGS) distdir-am
390
391 distdir-am: $(DISTFILES)
389392 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
390393 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
391394 list='$(DISTFILES)'; \
88 #Environment="G_MESSAGES_DEBUG=all"
99
1010 # Lockdown
11 ProtectSystem=true
11 ProtectSystem=strict
1212 ProtectControlGroups=true
1313 ProtectHome=true
1414 ProtectKernelModules=true
0 # Makefile.in generated by automake 1.15.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2017 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
1414 @SET_MAKE@
1515
1616 # -*- mode: makefile -*-
17 #
18 # gtk-doc.make - make rules for gtk-doc
19 # Copyright (C) 2003 James Henstridge
20 # 2004-2007 Damon Chaplin
21 # 2007-2017 Stefan Sauer
22 #
23 # This program is free software: you can redistribute it and/or modify
24 # it under the terms of the GNU General Public License as published by
25 # the Free Software Foundation, either version 3 of the License, or
26 # (at your option) any later version.
27 #
28 # This program is distributed in the hope that it will be useful,
29 # but WITHOUT ANY WARRANTY; without even the implied warranty of
30 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 # GNU General Public License for more details.
32 #
33 # You should have received a copy of the GNU General Public License
34 # along with this program. If not, see <http://www.gnu.org/licenses/>.
1735
1836 ####################################
1937 # Everything below here is generic #
395413 *config.status*) \
396414 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
397415 *) \
398 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
399 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
416 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
417 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
400418 esac;
401419 $(top_srcdir)/gtk-doc.make $(am__empty):
402420
417435 cscope cscopelist:
418436
419437
420 distdir: $(DISTFILES)
438 distdir: $(BUILT_SOURCES)
439 $(MAKE) $(AM_MAKEFLAGS) distdir-am
440
441 distdir-am: $(DISTFILES)
421442 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
422443 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
423444 list='$(DISTFILES)'; \
640661 sgml.stamp: sgml-build.stamp
641662 @true
642663
664 $(DOC_MAIN_SGML_FILE): sgml-build.stamp
665 @true
666
643667 xml/gtkdocentities.ent: Makefile
644668 $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
645669 echo "<!ENTITY package \"$(PACKAGE)\">"; \
669693 for file in $(HTML_IMAGES) ; do \
670694 test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
671695 test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
696 test -f $$file && cp $$file $(abs_builddir)/html; \
672697 done;
673698 $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
674699 $(AM_V_at)touch html-build.stamp
77 <link rel="up" href="ref-dbus.html" title="D-Bus API Reference">
88 <link rel="prev" href="gdbus-net.hadess.SensorProxy.html" title="net.hadess.SensorProxy">
99 <link rel="next" href="ix01.html" title="Index">
10 <meta name="generator" content="GTK-Doc V1.26 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.29.1 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
111111 </div>
112112 </div>
113113 <div class="footer">
114 <hr>Generated by GTK-Doc V1.26</div>
114 <hr>Generated by GTK-Doc V1.29.1</div>
115115 </body>
116116 </html>
77 <link rel="up" href="ref-dbus.html" title="D-Bus API Reference">
88 <link rel="prev" href="ref-dbus.html" title="D-Bus API Reference">
99 <link rel="next" href="gdbus-net.hadess.SensorProxy.Compass.html" title="net.hadess.SensorProxy.Compass">
10 <meta name="generator" content="GTK-Doc V1.26 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.29.1 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
187187 </div>
188188 </div>
189189 <div class="footer">
190 <hr>Generated by GTK-Doc V1.26</div>
190 <hr>Generated by GTK-Doc V1.29.1</div>
191191 </body>
192192 </html>
55 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
66 <link rel="home" href="index.html" title="Sensor Proxy Reference Manual">
77 <link rel="next" href="ref-dbus.html" title="D-Bus API Reference">
8 <meta name="generator" content="GTK-Doc V1.26 (XML mode)">
8 <meta name="generator" content="GTK-Doc V1.29.1 (XML mode)">
99 <link rel="stylesheet" href="style.css" type="text/css">
1010 </head>
1111 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2121     <code class="email">&lt;<a class="email" href="mailto:hadess@hadess.net">hadess@hadess.net</a>&gt;</code><br>
2222   </p></div></div>
2323 </div></div></div>
24 <div><p class="releaseinfo">Version 2.4
24 <div><p class="releaseinfo">Version 2.8
2525 </p></div>
2626 <div><p class="copyright">Copyright © 2015 Red Hat, Inc.</p></div>
2727 <div><div class="legalnotice">
7171 </dl></div>
7272 </div>
7373 <div class="footer">
74 <hr>Generated by GTK-Doc V1.26</div>
74 <hr>Generated by GTK-Doc V1.29.1</div>
7575 </body>
7676 </html>
77 <link rel="up" href="index.html" title="Sensor Proxy Reference Manual">
88 <link rel="prev" href="gdbus-net.hadess.SensorProxy.Compass.html" title="net.hadess.SensorProxy.Compass">
99 <link rel="next" href="license.html" title="Appendix A. License">
10 <meta name="generator" content="GTK-Doc V1.26 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.29.1 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2424 <div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"><div class="indexdiv">
2525 <h3>N</h3>
2626 <dl>
27 <dt id="ientry-idm140581295620688">net.hadess.SensorProxy, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-interface-net-hadess-SensorProxy.top_of_page">net.hadess.SensorProxy</a>
27 <dt id="ientry-idm46258508909824">net.hadess.SensorProxy, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-interface-net-hadess-SensorProxy.top_of_page">net.hadess.SensorProxy</a>
2828 </dt>
29 <dt id="ientry-idm140581302157616">net.hadess.SensorProxy.ClaimAccelerometer(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ClaimAccelerometer">The ClaimAccelerometer() method</a>
29 <dt id="ientry-idm46258514976176">net.hadess.SensorProxy.ClaimAccelerometer(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ClaimAccelerometer">The ClaimAccelerometer() method</a>
3030 </dt>
31 <dt id="ientry-idm140581302132016">net.hadess.SensorProxy.ClaimLight(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ClaimLight">The ClaimLight() method</a>
31 <dt id="ientry-idm46258514965248">net.hadess.SensorProxy.ClaimLight(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ClaimLight">The ClaimLight() method</a>
3232 </dt>
33 <dt id="ientry-idm140581294781600">net.hadess.SensorProxy.Compass, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-interface-net-hadess-SensorProxy-Compass.top_of_page">net.hadess.SensorProxy.Compass</a>
33 <dt id="ientry-idm46258506654416">net.hadess.SensorProxy.Compass, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-interface-net-hadess-SensorProxy-Compass.top_of_page">net.hadess.SensorProxy.Compass</a>
3434 </dt>
35 <dt id="ientry-idm140581294556400">net.hadess.SensorProxy.Compass.ClaimCompass(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-method-net-hadess-SensorProxy-Compass.ClaimCompass">The ClaimCompass() method</a>
35 <dt id="ientry-idm46258508499136">net.hadess.SensorProxy.Compass.ClaimCompass(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-method-net-hadess-SensorProxy-Compass.ClaimCompass">The ClaimCompass() method</a>
3636 </dt>
37 <dt id="ientry-idm140581294551248">net.hadess.SensorProxy.Compass.ReleaseCompass(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-method-net-hadess-SensorProxy-Compass.ReleaseCompass">The ReleaseCompass() method</a>
37 <dt id="ientry-idm46258509662560">net.hadess.SensorProxy.Compass.ReleaseCompass(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-method-net-hadess-SensorProxy-Compass.ReleaseCompass">The ReleaseCompass() method</a>
3838 </dt>
39 <dt id="ientry-idm140581297335056">net.hadess.SensorProxy.Compass:CompassHeading, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-property-net-hadess-SensorProxy-Compass.CompassHeading">The "CompassHeading" property</a>
39 <dt id="ientry-idm46258507570880">net.hadess.SensorProxy.Compass:CompassHeading, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-property-net-hadess-SensorProxy-Compass.CompassHeading">The "CompassHeading" property</a>
4040 </dt>
41 <dt id="ientry-idm140581297339248">net.hadess.SensorProxy.Compass:HasCompass, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-property-net-hadess-SensorProxy-Compass.HasCompass">The "HasCompass" property</a>
41 <dt id="ientry-idm46258507574896">net.hadess.SensorProxy.Compass:HasCompass, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.Compass.html#gdbus-property-net-hadess-SensorProxy-Compass.HasCompass">The "HasCompass" property</a>
4242 </dt>
43 <dt id="ientry-idm140581302136848">net.hadess.SensorProxy.ReleaseAccelerometer(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ReleaseAccelerometer">The ReleaseAccelerometer() method</a>
43 <dt id="ientry-idm46258514970000">net.hadess.SensorProxy.ReleaseAccelerometer(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ReleaseAccelerometer">The ReleaseAccelerometer() method</a>
4444 </dt>
45 <dt id="ientry-idm140581302125520">net.hadess.SensorProxy.ReleaseLight(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ReleaseLight">The ReleaseLight() method</a>
45 <dt id="ientry-idm46258515161888">net.hadess.SensorProxy.ReleaseLight(), <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-method-net-hadess-SensorProxy.ReleaseLight">The ReleaseLight() method</a>
4646 </dt>
47 <dt id="ientry-idm140581302114608">net.hadess.SensorProxy:AccelerometerOrientation, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.AccelerometerOrientation">The "AccelerometerOrientation" property</a>
47 <dt id="ientry-idm46258508284064">net.hadess.SensorProxy:AccelerometerOrientation, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.AccelerometerOrientation">The "AccelerometerOrientation" property</a>
4848 </dt>
49 <dt id="ientry-idm140581302118896">net.hadess.SensorProxy:HasAccelerometer, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.HasAccelerometer">The "HasAccelerometer" property</a>
49 <dt id="ientry-idm46258515155264">net.hadess.SensorProxy:HasAccelerometer, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.HasAccelerometer">The "HasAccelerometer" property</a>
5050 </dt>
51 <dt id="ientry-idm140581295579648">net.hadess.SensorProxy:HasAmbientLight, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.HasAmbientLight">The "HasAmbientLight" property</a>
51 <dt id="ientry-idm46258508280160">net.hadess.SensorProxy:HasAmbientLight, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.HasAmbientLight">The "HasAmbientLight" property</a>
5252 </dt>
53 <dt id="ientry-idm140581295570624">net.hadess.SensorProxy:LightLevel, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.LightLevel">The "LightLevel" property</a>
53 <dt id="ientry-idm46258508271136">net.hadess.SensorProxy:LightLevel, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.LightLevel">The "LightLevel" property</a>
5454 </dt>
55 <dt id="ientry-idm140581295575680">net.hadess.SensorProxy:LightLevelUnit, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.LightLevelUnit">The "LightLevelUnit" property</a>
55 <dt id="ientry-idm46258508276192">net.hadess.SensorProxy:LightLevelUnit, <a class="indexterm" href="gdbus-net.hadess.SensorProxy.html#gdbus-property-net-hadess-SensorProxy.LightLevelUnit">The "LightLevelUnit" property</a>
5656 </dt>
5757 </dl>
5858 </div></div>
5959 </div>
6060 <div class="footer">
61 <hr>Generated by GTK-Doc V1.26</div>
61 <hr>Generated by GTK-Doc V1.29.1</div>
6262 </body>
6363 </html>
66 <link rel="home" href="index.html" title="Sensor Proxy Reference Manual">
77 <link rel="up" href="index.html" title="Sensor Proxy Reference Manual">
88 <link rel="prev" href="ix01.html" title="Index">
9 <meta name="generator" content="GTK-Doc V1.26 (XML mode)">
9 <meta name="generator" content="GTK-Doc V1.29.1 (XML mode)">
1010 <link rel="stylesheet" href="style.css" type="text/css">
1111 </head>
1212 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2222 <a name="license"></a>Appendix A. License</h1></div></div></div>
2323 <p>
2424 </p>
25 <pre class="programlisting"> GNU GENERAL PUBLIC LICENSE
26 Version 3, 29 June 2007
27
28 Copyright (C) 2007 Free Software Foundation, Inc. &lt;http://fsf.org/&gt;
29 Everyone is permitted to copy and distribute verbatim copies
30 of this license document, but changing it is not allowed.
31
32 Preamble
33
34 The GNU General Public License is a free, copyleft license for
35 software and other kinds of works.
36
37 The licenses for most software and other practical works are designed
38 to take away your freedom to share and change the works. By contrast,
39 the GNU General Public License is intended to guarantee your freedom to
40 share and change all versions of a program--to make sure it remains free
41 software for all its users. We, the Free Software Foundation, use the
42 GNU General Public License for most of our software; it applies also to
43 any other work released this way by its authors. You can apply it to
44 your programs, too.
45
46 When we speak of free software, we are referring to freedom, not
47 price. Our General Public Licenses are designed to make sure that you
48 have the freedom to distribute copies of free software (and charge for
49 them if you wish), that you receive source code or can get it if you
50 want it, that you can change the software or use pieces of it in new
51 free programs, and that you know you can do these things.
52
53 To protect your rights, we need to prevent others from denying you
54 these rights or asking you to surrender the rights. Therefore, you have
55 certain responsibilities if you distribute copies of the software, or if
56 you modify it: responsibilities to respect the freedom of others.
57
58 For example, if you distribute copies of such a program, whether
59 gratis or for a fee, you must pass on to the recipients the same
60 freedoms that you received. You must make sure that they, too, receive
61 or can get the source code. And you must show them these terms so they
62 know their rights.
63
64 Developers that use the GNU GPL protect your rights with two steps:
65 (1) assert copyright on the software, and (2) offer you this License
66 giving you legal permission to copy, distribute and/or modify it.
67
68 For the developers' and authors' protection, the GPL clearly explains
69 that there is no warranty for this free software. For both users' and
70 authors' sake, the GPL requires that modified versions be marked as
71 changed, so that their problems will not be attributed erroneously to
72 authors of previous versions.
73
74 Some devices are designed to deny users access to install or run
75 modified versions of the software inside them, although the manufacturer
76 can do so. This is fundamentally incompatible with the aim of
77 protecting users' freedom to change the software. The systematic
78 pattern of such abuse occurs in the area of products for individuals to
79 use, which is precisely where it is most unacceptable. Therefore, we
80 have designed this version of the GPL to prohibit the practice for those
81 products. If such problems arise substantially in other domains, we
82 stand ready to extend this provision to those domains in future versions
83 of the GPL, as needed to protect the freedom of users.
84
85 Finally, every program is threatened constantly by software patents.
86 States should not allow patents to restrict development and use of
87 software on general-purpose computers, but in those that do, we wish to
88 avoid the special danger that patents applied to a free program could
89 make it effectively proprietary. To prevent this, the GPL assures that
90 patents cannot be used to render the program non-free.
91
92 The precise terms and conditions for copying, distribution and
93 modification follow.
94
95 TERMS AND CONDITIONS
96
97 0. Definitions.
98
99 "This License" refers to version 3 of the GNU General Public License.
100
101 "Copyright" also means copyright-like laws that apply to other kinds of
102 works, such as semiconductor masks.
103
104 "The Program" refers to any copyrightable work licensed under this
105 License. Each licensee is addressed as "you". "Licensees" and
106 "recipients" may be individuals or organizations.
107
108 To "modify" a work means to copy from or adapt all or part of the work
109 in a fashion requiring copyright permission, other than the making of an
110 exact copy. The resulting work is called a "modified version" of the
111 earlier work or a work "based on" the earlier work.
112
113 A "covered work" means either the unmodified Program or a work based
114 on the Program.
115
116 To "propagate" a work means to do anything with it that, without
117 permission, would make you directly or secondarily liable for
118 infringement under applicable copyright law, except executing it on a
119 computer or modifying a private copy. Propagation includes copying,
120 distribution (with or without modification), making available to the
121 public, and in some countries other activities as well.
122
123 To "convey" a work means any kind of propagation that enables other
124 parties to make or receive copies. Mere interaction with a user through
125 a computer network, with no transfer of a copy, is not conveying.
126
127 An interactive user interface displays "Appropriate Legal Notices"
128 to the extent that it includes a convenient and prominently visible
129 feature that (1) displays an appropriate copyright notice, and (2)
130 tells the user that there is no warranty for the work (except to the
131 extent that warranties are provided), that licensees may convey the
132 work under this License, and how to view a copy of this License. If
133 the interface presents a list of user commands or options, such as a
134 menu, a prominent item in the list meets this criterion.
135
136 1. Source Code.
137
138 The "source code" for a work means the preferred form of the work
139 for making modifications to it. "Object code" means any non-source
140 form of a work.
141
142 A "Standard Interface" means an interface that either is an official
143 standard defined by a recognized standards body, or, in the case of
144 interfaces specified for a particular programming language, one that
145 is widely used among developers working in that language.
146
147 The "System Libraries" of an executable work include anything, other
148 than the work as a whole, that (a) is included in the normal form of
149 packaging a Major Component, but which is not part of that Major
150 Component, and (b) serves only to enable use of the work with that
151 Major Component, or to implement a Standard Interface for which an
152 implementation is available to the public in source code form. A
153 "Major Component", in this context, means a major essential component
154 (kernel, window system, and so on) of the specific operating system
155 (if any) on which the executable work runs, or a compiler used to
156 produce the work, or an object code interpreter used to run it.
157
158 The "Corresponding Source" for a work in object code form means all
159 the source code needed to generate, install, and (for an executable
160 work) run the object code and to modify the work, including scripts to
161 control those activities. However, it does not include the work's
162 System Libraries, or general-purpose tools or generally available free
163 programs which are used unmodified in performing those activities but
164 which are not part of the work. For example, Corresponding Source
165 includes interface definition files associated with source files for
166 the work, and the source code for shared libraries and dynamically
167 linked subprograms that the work is specifically designed to require,
168 such as by intimate data communication or control flow between those
169 subprograms and other parts of the work.
170
171 The Corresponding Source need not include anything that users
172 can regenerate automatically from other parts of the Corresponding
173 Source.
174
175 The Corresponding Source for a work in source code form is that
176 same work.
177
178 2. Basic Permissions.
179
180 All rights granted under this License are granted for the term of
181 copyright on the Program, and are irrevocable provided the stated
182 conditions are met. This License explicitly affirms your unlimited
183 permission to run the unmodified Program. The output from running a
184 covered work is covered by this License only if the output, given its
185 content, constitutes a covered work. This License acknowledges your
186 rights of fair use or other equivalent, as provided by copyright law.
187
188 You may make, run and propagate covered works that you do not
189 convey, without conditions so long as your license otherwise remains
190 in force. You may convey covered works to others for the sole purpose
191 of having them make modifications exclusively for you, or provide you
192 with facilities for running those works, provided that you comply with
193 the terms of this License in conveying all material for which you do
194 not control copyright. Those thus making or running the covered works
195 for you must do so exclusively on your behalf, under your direction
196 and control, on terms that prohibit them from making any copies of
197 your copyrighted material outside their relationship with you.
198
199 Conveying under any other circumstances is permitted solely under
200 the conditions stated below. Sublicensing is not allowed; section 10
201 makes it unnecessary.
202
203 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
204
205 No covered work shall be deemed part of an effective technological
206 measure under any applicable law fulfilling obligations under article
207 11 of the WIPO copyright treaty adopted on 20 December 1996, or
208 similar laws prohibiting or restricting circumvention of such
209 measures.
210
211 When you convey a covered work, you waive any legal power to forbid
212 circumvention of technological measures to the extent such circumvention
213 is effected by exercising rights under this License with respect to
214 the covered work, and you disclaim any intention to limit operation or
215 modification of the work as a means of enforcing, against the work's
216 users, your or third parties' legal rights to forbid circumvention of
217 technological measures.
218
219 4. Conveying Verbatim Copies.
220
221 You may convey verbatim copies of the Program's source code as you
222 receive it, in any medium, provided that you conspicuously and
223 appropriately publish on each copy an appropriate copyright notice;
224 keep intact all notices stating that this License and any
225 non-permissive terms added in accord with section 7 apply to the code;
226 keep intact all notices of the absence of any warranty; and give all
227 recipients a copy of this License along with the Program.
228
229 You may charge any price or no price for each copy that you convey,
230 and you may offer support or warranty protection for a fee.
231
232 5. Conveying Modified Source Versions.
233
234 You may convey a work based on the Program, or the modifications to
235 produce it from the Program, in the form of source code under the
236 terms of section 4, provided that you also meet all of these conditions:
237
238 a) The work must carry prominent notices stating that you modified
239 it, and giving a relevant date.
240
241 b) The work must carry prominent notices stating that it is
242 released under this License and any conditions added under section
243 7. This requirement modifies the requirement in section 4 to
244 "keep intact all notices".
245
246 c) You must license the entire work, as a whole, under this
247 License to anyone who comes into possession of a copy. This
248 License will therefore apply, along with any applicable section 7
249 additional terms, to the whole of the work, and all its parts,
250 regardless of how they are packaged. This License gives no
251 permission to license the work in any other way, but it does not
252 invalidate such permission if you have separately received it.
253
254 d) If the work has interactive user interfaces, each must display
255 Appropriate Legal Notices; however, if the Program has interactive
256 interfaces that do not display Appropriate Legal Notices, your
257 work need not make them do so.
258
259 A compilation of a covered work with other separate and independent
260 works, which are not by their nature extensions of the covered work,
261 and which are not combined with it such as to form a larger program,
262 in or on a volume of a storage or distribution medium, is called an
263 "aggregate" if the compilation and its resulting copyright are not
264 used to limit the access or legal rights of the compilation's users
265 beyond what the individual works permit. Inclusion of a covered work
266 in an aggregate does not cause this License to apply to the other
267 parts of the aggregate.
268
269 6. Conveying Non-Source Forms.
270
271 You may convey a covered work in object code form under the terms
272 of sections 4 and 5, provided that you also convey the
273 machine-readable Corresponding Source under the terms of this License,
274 in one of these ways:
275
276 a) Convey the object code in, or embodied in, a physical product
277 (including a physical distribution medium), accompanied by the
278 Corresponding Source fixed on a durable physical medium
279 customarily used for software interchange.
280
281 b) Convey the object code in, or embodied in, a physical product
282 (including a physical distribution medium), accompanied by a
283 written offer, valid for at least three years and valid for as
284 long as you offer spare parts or customer support for that product
285 model, to give anyone who possesses the object code either (1) a
286 copy of the Corresponding Source for all the software in the
287 product that is covered by this License, on a durable physical
288 medium customarily used for software interchange, for a price no
289 more than your reasonable cost of physically performing this
290 conveying of source, or (2) access to copy the
291 Corresponding Source from a network server at no charge.
292
293 c) Convey individual copies of the object code with a copy of the
294 written offer to provide the Corresponding Source. This
295 alternative is allowed only occasionally and noncommercially, and
296 only if you received the object code with such an offer, in accord
297 with subsection 6b.
298
299 d) Convey the object code by offering access from a designated
300 place (gratis or for a charge), and offer equivalent access to the
301 Corresponding Source in the same way through the same place at no
302 further charge. You need not require recipients to copy the
303 Corresponding Source along with the object code. If the place to
304 copy the object code is a network server, the Corresponding Source
305 may be on a different server (operated by you or a third party)
306 that supports equivalent copying facilities, provided you maintain
307 clear directions next to the object code saying where to find the
308 Corresponding Source. Regardless of what server hosts the
309 Corresponding Source, you remain obligated to ensure that it is
310 available for as long as needed to satisfy these requirements.
311
312 e) Convey the object code using peer-to-peer transmission, provided
313 you inform other peers where the object code and Corresponding
314 Source of the work are being offered to the general public at no
315 charge under subsection 6d.
316
317 A separable portion of the object code, whose source code is excluded
318 from the Corresponding Source as a System Library, need not be
319 included in conveying the object code work.
320
321 A "User Product" is either (1) a "consumer product", which means any
322 tangible personal property which is normally used for personal, family,
323 or household purposes, or (2) anything designed or sold for incorporation
324 into a dwelling. In determining whether a product is a consumer product,
325 doubtful cases shall be resolved in favor of coverage. For a particular
326 product received by a particular user, "normally used" refers to a
327 typical or common use of that class of product, regardless of the status
328 of the particular user or of the way in which the particular user
329 actually uses, or expects or is expected to use, the product. A product
330 is a consumer product regardless of whether the product has substantial
331 commercial, industrial or non-consumer uses, unless such uses represent
332 the only significant mode of use of the product.
333
334 "Installation Information" for a User Product means any methods,
335 procedures, authorization keys, or other information required to install
336 and execute modified versions of a covered work in that User Product from
337 a modified version of its Corresponding Source. The information must
338 suffice to ensure that the continued functioning of the modified object
339 code is in no case prevented or interfered with solely because
340 modification has been made.
341
342 If you convey an object code work under this section in, or with, or
343 specifically for use in, a User Product, and the conveying occurs as
344 part of a transaction in which the right of possession and use of the
345 User Product is transferred to the recipient in perpetuity or for a
346 fixed term (regardless of how the transaction is characterized), the
347 Corresponding Source conveyed under this section must be accompanied
348 by the Installation Information. But this requirement does not apply
349 if neither you nor any third party retains the ability to install
350 modified object code on the User Product (for example, the work has
351 been installed in ROM).
352
353 The requirement to provide Installation Information does not include a
354 requirement to continue to provide support service, warranty, or updates
355 for a work that has been modified or installed by the recipient, or for
356 the User Product in which it has been modified or installed. Access to a
357 network may be denied when the modification itself materially and
358 adversely affects the operation of the network or violates the rules and
359 protocols for communication across the network.
360
361 Corresponding Source conveyed, and Installation Information provided,
362 in accord with this section must be in a format that is publicly
363 documented (and with an implementation available to the public in
364 source code form), and must require no special password or key for
365 unpacking, reading or copying.
366
367 7. Additional Terms.
368
369 "Additional permissions" are terms that supplement the terms of this
370 License by making exceptions from one or more of its conditions.
371 Additional permissions that are applicable to the entire Program shall
372 be treated as though they were included in this License, to the extent
373 that they are valid under applicable law. If additional permissions
374 apply only to part of the Program, that part may be used separately
375 under those permissions, but the entire Program remains governed by
376 this License without regard to the additional permissions.
377
378 When you convey a copy of a covered work, you may at your option
379 remove any additional permissions from that copy, or from any part of
380 it. (Additional permissions may be written to require their own
381 removal in certain cases when you modify the work.) You may place
382 additional permissions on material, added by you to a covered work,
383 for which you have or can give appropriate copyright permission.
384
385 Notwithstanding any other provision of this License, for material you
386 add to a covered work, you may (if authorized by the copyright holders of
387 that material) supplement the terms of this License with terms:
388
389 a) Disclaiming warranty or limiting liability differently from the
390 terms of sections 15 and 16 of this License; or
391
392 b) Requiring preservation of specified reasonable legal notices or
393 author attributions in that material or in the Appropriate Legal
394 Notices displayed by works containing it; or
395
396 c) Prohibiting misrepresentation of the origin of that material, or
397 requiring that modified versions of such material be marked in
398 reasonable ways as different from the original version; or
399
400 d) Limiting the use for publicity purposes of names of licensors or
401 authors of the material; or
402
403 e) Declining to grant rights under trademark law for use of some
404 trade names, trademarks, or service marks; or
405
406 f) Requiring indemnification of licensors and authors of that
407 material by anyone who conveys the material (or modified versions of
408 it) with contractual assumptions of liability to the recipient, for
409 any liability that these contractual assumptions directly impose on
410 those licensors and authors.
411
412 All other non-permissive additional terms are considered "further
413 restrictions" within the meaning of section 10. If the Program as you
414 received it, or any part of it, contains a notice stating that it is
415 governed by this License along with a term that is a further
416 restriction, you may remove that term. If a license document contains
417 a further restriction but permits relicensing or conveying under this
418 License, you may add to a covered work material governed by the terms
419 of that license document, provided that the further restriction does
420 not survive such relicensing or conveying.
421
422 If you add terms to a covered work in accord with this section, you
423 must place, in the relevant source files, a statement of the
424 additional terms that apply to those files, or a notice indicating
425 where to find the applicable terms.
426
427 Additional terms, permissive or non-permissive, may be stated in the
428 form of a separately written license, or stated as exceptions;
429 the above requirements apply either way.
430
431 8. Termination.
432
433 You may not propagate or modify a covered work except as expressly
434 provided under this License. Any attempt otherwise to propagate or
435 modify it is void, and will automatically terminate your rights under
436 this License (including any patent licenses granted under the third
437 paragraph of section 11).
438
439 However, if you cease all violation of this License, then your
440 license from a particular copyright holder is reinstated (a)
441 provisionally, unless and until the copyright holder explicitly and
442 finally terminates your license, and (b) permanently, if the copyright
443 holder fails to notify you of the violation by some reasonable means
444 prior to 60 days after the cessation.
445
446 Moreover, your license from a particular copyright holder is
447 reinstated permanently if the copyright holder notifies you of the
448 violation by some reasonable means, this is the first time you have
449 received notice of violation of this License (for any work) from that
450 copyright holder, and you cure the violation prior to 30 days after
451 your receipt of the notice.
452
453 Termination of your rights under this section does not terminate the
454 licenses of parties who have received copies or rights from you under
455 this License. If your rights have been terminated and not permanently
456 reinstated, you do not qualify to receive new licenses for the same
457 material under section 10.
458
459 9. Acceptance Not Required for Having Copies.
460
461 You are not required to accept this License in order to receive or
462 run a copy of the Program. Ancillary propagation of a covered work
463 occurring solely as a consequence of using peer-to-peer transmission
464 to receive a copy likewise does not require acceptance. However,
465 nothing other than this License grants you permission to propagate or
466 modify any covered work. These actions infringe copyright if you do
467 not accept this License. Therefore, by modifying or propagating a
468 covered work, you indicate your acceptance of this License to do so.
469
470 10. Automatic Licensing of Downstream Recipients.
471
472 Each time you convey a covered work, the recipient automatically
473 receives a license from the original licensors, to run, modify and
474 propagate that work, subject to this License. You are not responsible
475 for enforcing compliance by third parties with this License.
476
477 An "entity transaction" is a transaction transferring control of an
478 organization, or substantially all assets of one, or subdividing an
479 organization, or merging organizations. If propagation of a covered
480 work results from an entity transaction, each party to that
481 transaction who receives a copy of the work also receives whatever
482 licenses to the work the party's predecessor in interest had or could
483 give under the previous paragraph, plus a right to possession of the
484 Corresponding Source of the work from the predecessor in interest, if
485 the predecessor has it or can get it with reasonable efforts.
486
487 You may not impose any further restrictions on the exercise of the
488 rights granted or affirmed under this License. For example, you may
489 not impose a license fee, royalty, or other charge for exercise of
490 rights granted under this License, and you may not initiate litigation
491 (including a cross-claim or counterclaim in a lawsuit) alleging that
492 any patent claim is infringed by making, using, selling, offering for
493 sale, or importing the Program or any portion of it.
494
495 11. Patents.
496
497 A "contributor" is a copyright holder who authorizes use under this
498 License of the Program or a work on which the Program is based. The
499 work thus licensed is called the contributor's "contributor version".
500
501 A contributor's "essential patent claims" are all patent claims
502 owned or controlled by the contributor, whether already acquired or
503 hereafter acquired, that would be infringed by some manner, permitted
504 by this License, of making, using, or selling its contributor version,
505 but do not include claims that would be infringed only as a
506 consequence of further modification of the contributor version. For
507 purposes of this definition, "control" includes the right to grant
508 patent sublicenses in a manner consistent with the requirements of
509 this License.
510
511 Each contributor grants you a non-exclusive, worldwide, royalty-free
512 patent license under the contributor's essential patent claims, to
513 make, use, sell, offer for sale, import and otherwise run, modify and
514 propagate the contents of its contributor version.
515
516 In the following three paragraphs, a "patent license" is any express
517 agreement or commitment, however denominated, not to enforce a patent
518 (such as an express permission to practice a patent or covenant not to
519 sue for patent infringement). To "grant" such a patent license to a
520 party means to make such an agreement or commitment not to enforce a
521 patent against the party.
522
523 If you convey a covered work, knowingly relying on a patent license,
524 and the Corresponding Source of the work is not available for anyone
525 to copy, free of charge and under the terms of this License, through a
526 publicly available network server or other readily accessible means,
527 then you must either (1) cause the Corresponding Source to be so
528 available, or (2) arrange to deprive yourself of the benefit of the
529 patent license for this particular work, or (3) arrange, in a manner
530 consistent with the requirements of this License, to extend the patent
531 license to downstream recipients. "Knowingly relying" means you have
532 actual knowledge that, but for the patent license, your conveying the
533 covered work in a country, or your recipient's use of the covered work
534 in a country, would infringe one or more identifiable patents in that
535 country that you have reason to believe are valid.
536
537 If, pursuant to or in connection with a single transaction or
538 arrangement, you convey, or propagate by procuring conveyance of, a
539 covered work, and grant a patent license to some of the parties
540 receiving the covered work authorizing them to use, propagate, modify
541 or convey a specific copy of the covered work, then the patent license
542 you grant is automatically extended to all recipients of the covered
543 work and works based on it.
544
545 A patent license is "discriminatory" if it does not include within
546 the scope of its coverage, prohibits the exercise of, or is
547 conditioned on the non-exercise of one or more of the rights that are
548 specifically granted under this License. You may not convey a covered
549 work if you are a party to an arrangement with a third party that is
550 in the business of distributing software, under which you make payment
551 to the third party based on the extent of your activity of conveying
552 the work, and under which the third party grants, to any of the
553 parties who would receive the covered work from you, a discriminatory
554 patent license (a) in connection with copies of the covered work
555 conveyed by you (or copies made from those copies), or (b) primarily
556 for and in connection with specific products or compilations that
557 contain the covered work, unless you entered into that arrangement,
558 or that patent license was granted, prior to 28 March 2007.
559
560 Nothing in this License shall be construed as excluding or limiting
561 any implied license or other defenses to infringement that may
562 otherwise be available to you under applicable patent law.
563
564 12. No Surrender of Others' Freedom.
565
566 If conditions are imposed on you (whether by court order, agreement or
567 otherwise) that contradict the conditions of this License, they do not
568 excuse you from the conditions of this License. If you cannot convey a
569 covered work so as to satisfy simultaneously your obligations under this
570 License and any other pertinent obligations, then as a consequence you may
571 not convey it at all. For example, if you agree to terms that obligate you
572 to collect a royalty for further conveying from those to whom you convey
573 the Program, the only way you could satisfy both those terms and this
574 License would be to refrain entirely from conveying the Program.
575
576 13. Use with the GNU Affero General Public License.
577
578 Notwithstanding any other provision of this License, you have
579 permission to link or combine any covered work with a work licensed
580 under version 3 of the GNU Affero General Public License into a single
581 combined work, and to convey the resulting work. The terms of this
582 License will continue to apply to the part which is the covered work,
583 but the special requirements of the GNU Affero General Public License,
584 section 13, concerning interaction through a network will apply to the
585 combination as such.
586
587 14. Revised Versions of this License.
588
589 The Free Software Foundation may publish revised and/or new versions of
590 the GNU General Public License from time to time. Such new versions will
591 be similar in spirit to the present version, but may differ in detail to
592 address new problems or concerns.
593
594 Each version is given a distinguishing version number. If the
595 Program specifies that a certain numbered version of the GNU General
596 Public License "or any later version" applies to it, you have the
597 option of following the terms and conditions either of that numbered
598 version or of any later version published by the Free Software
599 Foundation. If the Program does not specify a version number of the
600 GNU General Public License, you may choose any version ever published
601 by the Free Software Foundation.
602
603 If the Program specifies that a proxy can decide which future
604 versions of the GNU General Public License can be used, that proxy's
605 public statement of acceptance of a version permanently authorizes you
606 to choose that version for the Program.
607
608 Later license versions may give you additional or different
609 permissions. However, no additional obligations are imposed on any
610 author or copyright holder as a result of your choosing to follow a
611 later version.
612
613 15. Disclaimer of Warranty.
614
615 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
616 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
617 HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
618 OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
619 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
620 PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
621 IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
622 ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
623
624 16. Limitation of Liability.
625
626 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
627 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
628 THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
629 GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
630 USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
631 DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
632 PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
633 EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
634 SUCH DAMAGES.
635
636 17. Interpretation of Sections 15 and 16.
637
638 If the disclaimer of warranty and limitation of liability provided
639 above cannot be given local legal effect according to their terms,
640 reviewing courts shall apply local law that most closely approximates
641 an absolute waiver of all civil liability in connection with the
642 Program, unless a warranty or assumption of liability accompanies a
643 copy of the Program in return for a fee.
644
645 END OF TERMS AND CONDITIONS
646
647 How to Apply These Terms to Your New Programs
648
649 If you develop a new program, and you want it to be of the greatest
650 possible use to the public, the best way to achieve this is to make it
651 free software which everyone can redistribute and change under these terms.
652
653 To do so, attach the following notices to the program. It is safest
654 to attach them to the start of each source file to most effectively
655 state the exclusion of warranty; and each file should have at least
656 the "copyright" line and a pointer to where the full notice is found.
657
658 &lt;one line to give the program's name and a brief idea of what it does.&gt;
659 Copyright (C) &lt;year&gt; &lt;name of author&gt;
660
661 This program is free software: you can redistribute it and/or modify
662 it under the terms of the GNU General Public License as published by
663 the Free Software Foundation, either version 3 of the License, or
664 (at your option) any later version.
665
666 This program is distributed in the hope that it will be useful,
667 but WITHOUT ANY WARRANTY; without even the implied warranty of
668 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
669 GNU General Public License for more details.
670
671 You should have received a copy of the GNU General Public License
672 along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.
673
674 Also add information on how to contact you by electronic and paper mail.
675
676 If the program does terminal interaction, make it output a short
677 notice like this when it starts in an interactive mode:
678
679 &lt;program&gt; Copyright (C) &lt;year&gt; &lt;name of author&gt;
680 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
681 This is free software, and you are welcome to redistribute it
682 under certain conditions; type `show c' for details.
683
684 The hypothetical commands `show w' and `show c' should show the appropriate
685 parts of the General Public License. Of course, your program's commands
686 might be different; for a GUI interface, you would use an "about box".
687
688 You should also get your employer (if you work as a programmer) or school,
689 if any, to sign a "copyright disclaimer" for the program, if necessary.
690 For more information on this, and how to apply and follow the GNU GPL, see
691 &lt;http://www.gnu.org/licenses/&gt;.
692
693 The GNU General Public License does not permit incorporating your program
694 into proprietary programs. If your program is a subroutine library, you
695 may consider it more useful to permit linking proprietary applications with
696 the library. If this is what you want to do, use the GNU Lesser General
697 Public License instead of this License. But first, please read
698 &lt;http://www.gnu.org/philosophy/why-not-lgpl.html&gt;.
699 </pre>
25 <pre class="programlisting">FIXME: MISSING XINCLUDE CONTENT</pre>
70026 <p>
70127 </p>
70228 </div>
70329 <div class="footer">
704 <hr>Generated by GTK-Doc V1.26</div>
30 <hr>Generated by GTK-Doc V1.29.1</div>
70531 </body>
70632 </html>
77 <link rel="up" href="index.html" title="Sensor Proxy Reference Manual">
88 <link rel="prev" href="index.html" title="Sensor Proxy Reference Manual">
99 <link rel="next" href="gdbus-net.hadess.SensorProxy.html" title="net.hadess.SensorProxy">
10 <meta name="generator" content="GTK-Doc V1.26 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.29.1 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4444 </div>
4545 </div>
4646 <div class="footer">
47 <hr>Generated by GTK-Doc V1.26</div>
47 <hr>Generated by GTK-Doc V1.29.1</div>
4848 </body>
4949 </html>
2727 .variablelist td:first-child
2828 {
2929 vertical-align: top;
30 }
31
32 span.nowrap {
33 white-space: nowrap;
3034 }
3135
3236 div.gallery-float
+0
-0
docs/iio-sensor-proxy.types less more
(Empty file)
00 # -*- mode: makefile -*-
1 #
2 # gtk-doc.make - make rules for gtk-doc
3 # Copyright (C) 2003 James Henstridge
4 # 2004-2007 Damon Chaplin
5 # 2007-2017 Stefan Sauer
6 #
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
119
220 ####################################
321 # Everything below here is generic #
151169 sgml.stamp: sgml-build.stamp
152170 @true
153171
172 $(DOC_MAIN_SGML_FILE): sgml-build.stamp
173 @true
174
154175 xml/gtkdocentities.ent: Makefile
155176 $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
156177 echo "<!ENTITY package \"$(PACKAGE)\">"; \
190211 for file in $(HTML_IMAGES) ; do \
191212 test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
192213 test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
214 test -f $$file && cp $$file $(abs_builddir)/html; \
193215 done;
194216 $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
195217 $(AM_V_at)touch html-build.stamp
2929 #
3030 # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
3131 #
32 # This program is free software: you can redistribute it and/or modify it
33 # under the terms of the GNU General Public License as published by the
34 # Free Software Foundation, either version 3 of the License, or (at your
35 # option) any later version.
36 #
37 # This program is distributed in the hope that it will be useful, but
38 # WITHOUT ANY WARRANTY; without even the implied warranty of
39 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
40 # Public License for more details.
41 #
42 # You should have received a copy of the GNU General Public License along
43 # with this program. If not, see <https://www.gnu.org/licenses/>.
44 #
45 # As a special exception, the respective Autoconf Macro's copyright owner
46 # gives unlimited permission to copy, distribute and modify the configure
47 # scripts that are the output of Autoconf when processing the Macro. You
48 # need not follow the terms of the GNU General Public License when using
49 # or distributing such scripts, even though portions of the text of the
50 # Macro appear in them. The GNU General Public License (GPL) does govern
51 # all other use of the material that constitutes the Autoconf Macro.
52 #
53 # This special exception to the GPL applies to versions of the Autoconf
54 # Macro released by the Autoconf Archive. When you make and distribute a
55 # modified version of the Autoconf Macro, you may extend this special
56 # exception to the GPL to apply to your modified version as well.
32 # Copying and distribution of this file, with or without modification, are
33 # permitted in any medium without royalty provided the copyright notice
34 # and this notice are preserved. This file is offered as-is, without any
35 # warranty.
5736
58 #serial 6
37 #serial 7
5938
6039 AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
6140 [AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
2222 # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
2323 # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
2424 #
25 # This program is free software: you can redistribute it and/or modify it
26 # under the terms of the GNU General Public License as published by the
27 # Free Software Foundation, either version 3 of the License, or (at your
28 # option) any later version.
29 #
30 # This program is distributed in the hope that it will be useful, but
31 # WITHOUT ANY WARRANTY; without even the implied warranty of
32 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
33 # Public License for more details.
34 #
35 # You should have received a copy of the GNU General Public License along
36 # with this program. If not, see <https://www.gnu.org/licenses/>.
37 #
38 # As a special exception, the respective Autoconf Macro's copyright owner
39 # gives unlimited permission to copy, distribute and modify the configure
40 # scripts that are the output of Autoconf when processing the Macro. You
41 # need not follow the terms of the GNU General Public License when using
42 # or distributing such scripts, even though portions of the text of the
43 # Macro appear in them. The GNU General Public License (GPL) does govern
44 # all other use of the material that constitutes the Autoconf Macro.
45 #
46 # This special exception to the GPL applies to versions of the Autoconf
47 # Macro released by the Autoconf Archive. When you make and distribute a
48 # modified version of the Autoconf Macro, you may extend this special
49 # exception to the GPL to apply to your modified version as well.
25 # Copying and distribution of this file, with or without modification, are
26 # permitted in any medium without royalty provided the copyright notice
27 # and this notice are preserved. This file is offered as-is, without any
28 # warranty.
5029
51 #serial 7
30 #serial 8
5231
5332 AC_DEFUN([AX_APPEND_FLAG],
5433 [dnl
2727 #
2828 # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
2929 #
30 # This program is free software: you can redistribute it and/or modify it
31 # under the terms of the GNU General Public License as published by the
32 # Free Software Foundation, either version 3 of the License, or (at your
33 # option) any later version.
34 #
35 # This program is distributed in the hope that it will be useful, but
36 # WITHOUT ANY WARRANTY; without even the implied warranty of
37 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
38 # Public License for more details.
39 #
40 # You should have received a copy of the GNU General Public License along
41 # with this program. If not, see <https://www.gnu.org/licenses/>.
42 #
43 # As a special exception, the respective Autoconf Macro's copyright owner
44 # gives unlimited permission to copy, distribute and modify the configure
45 # scripts that are the output of Autoconf when processing the Macro. You
46 # need not follow the terms of the GNU General Public License when using
47 # or distributing such scripts, even though portions of the text of the
48 # Macro appear in them. The GNU General Public License (GPL) does govern
49 # all other use of the material that constitutes the Autoconf Macro.
50 #
51 # This special exception to the GPL applies to versions of the Autoconf
52 # Macro released by the Autoconf Archive. When you make and distribute a
53 # modified version of the Autoconf Macro, you may extend this special
54 # exception to the GPL to apply to your modified version as well.
30 # Copying and distribution of this file, with or without modification, are
31 # permitted in any medium without royalty provided the copyright notice
32 # and this notice are preserved. This file is offered as-is, without any
33 # warranty.
5534
56 #serial 6
35 #serial 7
5736
5837 AC_DEFUN([AX_APPEND_LINK_FLAGS],
5938 [AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
2828 # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
2929 # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
3030 #
31 # This program is free software: you can redistribute it and/or modify it
32 # under the terms of the GNU General Public License as published by the
33 # Free Software Foundation, either version 3 of the License, or (at your
34 # option) any later version.
35 #
36 # This program is distributed in the hope that it will be useful, but
37 # WITHOUT ANY WARRANTY; without even the implied warranty of
38 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
39 # Public License for more details.
40 #
41 # You should have received a copy of the GNU General Public License along
42 # with this program. If not, see <https://www.gnu.org/licenses/>.
43 #
44 # As a special exception, the respective Autoconf Macro's copyright owner
45 # gives unlimited permission to copy, distribute and modify the configure
46 # scripts that are the output of Autoconf when processing the Macro. You
47 # need not follow the terms of the GNU General Public License when using
48 # or distributing such scripts, even though portions of the text of the
49 # Macro appear in them. The GNU General Public License (GPL) does govern
50 # all other use of the material that constitutes the Autoconf Macro.
51 #
52 # This special exception to the GPL applies to versions of the Autoconf
53 # Macro released by the Autoconf Archive. When you make and distribute a
54 # modified version of the Autoconf Macro, you may extend this special
55 # exception to the GPL to apply to your modified version as well.
31 # Copying and distribution of this file, with or without modification, are
32 # permitted in any medium without royalty provided the copyright notice
33 # and this notice are preserved. This file is offered as-is, without any
34 # warranty.
5635
57 #serial 5
36 #serial 6
5837
5938 AC_DEFUN([AX_CHECK_COMPILE_FLAG],
6039 [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
2828 # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
2929 # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
3030 #
31 # This program is free software: you can redistribute it and/or modify it
32 # under the terms of the GNU General Public License as published by the
33 # Free Software Foundation, either version 3 of the License, or (at your
34 # option) any later version.
35 #
36 # This program is distributed in the hope that it will be useful, but
37 # WITHOUT ANY WARRANTY; without even the implied warranty of
38 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
39 # Public License for more details.
40 #
41 # You should have received a copy of the GNU General Public License along
42 # with this program. If not, see <https://www.gnu.org/licenses/>.
43 #
44 # As a special exception, the respective Autoconf Macro's copyright owner
45 # gives unlimited permission to copy, distribute and modify the configure
46 # scripts that are the output of Autoconf when processing the Macro. You
47 # need not follow the terms of the GNU General Public License when using
48 # or distributing such scripts, even though portions of the text of the
49 # Macro appear in them. The GNU General Public License (GPL) does govern
50 # all other use of the material that constitutes the Autoconf Macro.
51 #
52 # This special exception to the GPL applies to versions of the Autoconf
53 # Macro released by the Autoconf Archive. When you make and distribute a
54 # modified version of the Autoconf Macro, you may extend this special
55 # exception to the GPL to apply to your modified version as well.
31 # Copying and distribution of this file, with or without modification, are
32 # permitted in any medium without royalty provided the copyright notice
33 # and this notice are preserved. This file is offered as-is, without any
34 # warranty.
5635
57 #serial 5
36 #serial 6
5837
5938 AC_DEFUN([AX_CHECK_LINK_FLAG],
6039 [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
1818 # LICENSE
1919 #
2020 # Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
21 # Copyright (c) 2017, 2018 Reini Urban <rurban@cpan.org>
2122 #
2223 # Copying and distribution of this file, with or without modification, are
2324 # permitted in any medium without royalty provided the copyright notice
2425 # and this notice are preserved. This file is offered as-is, without any
2526 # warranty.
2627
27 #serial 14
28 #serial 17
2829
2930 AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[
3031 AC_REQUIRE([AC_PROG_SED])
3738 [m4_normalize(ifelse([$1],,[WARN_CFLAGS],[$1]))])
3839
3940 AC_LANG_PUSH([C])
41
42 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
43 [#ifndef __cplusplus
44 #error "no C++"
45 #endif]])],
46 [ax_compiler_cxx=yes;],
47 [ax_compiler_cxx=no;])
4048
4149 # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
4250 # flags, otherwise they are always appended to the warn_cflags variable, and
6371 ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
6472
6573 AS_IF([test "$ax_enable_compile_warnings" != "no"],[
74 if test "$ax_compiler_cxx" = "no" ; then
75 # C-only flags. Warn in C++
76 AX_APPEND_COMPILE_FLAGS([ dnl
77 -Wnested-externs dnl
78 -Wmissing-prototypes dnl
79 -Wstrict-prototypes dnl
80 -Wdeclaration-after-statement dnl
81 -Wimplicit-function-declaration dnl
82 -Wold-style-definition dnl
83 -Wjump-misses-init dnl
84 ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
85 fi
86
6687 # "yes" flags
6788 AX_APPEND_COMPILE_FLAGS([ dnl
6889 -Wall dnl
6990 -Wextra dnl
7091 -Wundef dnl
71 -Wnested-externs dnl
7292 -Wwrite-strings dnl
7393 -Wpointer-arith dnl
7494 -Wmissing-declarations dnl
75 -Wmissing-prototypes dnl
76 -Wstrict-prototypes dnl
7795 -Wredundant-decls dnl
7896 -Wno-unused-parameter dnl
7997 -Wno-missing-field-initializers dnl
80 -Wdeclaration-after-statement dnl
8198 -Wformat=2 dnl
82 -Wold-style-definition dnl
8399 -Wcast-align dnl
84100 -Wformat-nonliteral dnl
85101 -Wformat-security dnl
95111 -Wmissing-include-dirs dnl
96112 -Wunused-but-set-variable dnl
97113 -Warray-bounds dnl
98 -Wimplicit-function-declaration dnl
99114 -Wreturn-type dnl
100115 -Wswitch-enum dnl
101116 -Wswitch-default dnl
117 -Wduplicated-cond dnl
118 -Wduplicated-branches dnl
119 -Wlogical-op dnl
120 -Wrestrict dnl
121 -Wnull-dereference dnl
122 -Wdouble-promotion dnl
102123 $4 dnl
103124 $5 dnl
104125 $6 dnl
1818 # LICENSE
1919 #
2020 # Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
21 # Copyright (c) 2017, 2018 Reini Urban <rurban@cpan.org>
2122 #
2223 # Copying and distribution of this file, with or without modification, are
2324 # permitted in any medium without royalty provided the copyright notice
2425 # and this notice are preserved. This file is offered as-is, without any
2526 # warranty.
2627
27 #serial 8
28 #serial 9
2829
2930 AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[
3031 AX_REQUIRE_DEFINED([AX_APPEND_LINK_FLAGS])
4748 ax_compiler_flags_test=""
4849 ])
4950
50 # macOS linker does not have --as-needed
51 AX_CHECK_LINK_FLAG([-Wl,--as-needed], [
52 AX_APPEND_LINK_FLAGS([-Wl,--as-needed],
53 [AM_LDFLAGS],[$ax_compiler_flags_test])
54 ])
55 AX_CHECK_LINK_FLAG([-Wl,-z,relro], [
56 AX_APPEND_LINK_FLAGS([-Wl,-z,relro],
57 [AM_LDFLAGS],[$ax_compiler_flags_test])
58 ])
59 AX_CHECK_LINK_FLAG([-Wl,-z,now], [
60 AX_APPEND_LINK_FLAGS([-Wl,-z,now],
61 [AM_LDFLAGS],[$ax_compiler_flags_test])
62 ])
63 AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [
64 AX_APPEND_LINK_FLAGS([-Wl,-z,noexecstack],
65 [AM_LDFLAGS],[$ax_compiler_flags_test])
66 ])
67 # textonly, retpolineplt not yet
68
69 # macOS and cygwin linker do not have --as-needed
5170 AX_CHECK_LINK_FLAG([-Wl,--no-as-needed], [
5271 ax_compiler_flags_as_needed_option="-Wl,--no-as-needed"
5372 ], [
0 dnl -*- mode: autoconf -*-
0 # -*- mode: autoconf -*-
1 #
2 # gtk-doc.m4 - configure macro to check for gtk-doc
3 # Copyright (C) 2003 James Henstridge
4 # 2007-2017 Stefan Sauer
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #
19 # As a special exception, the above copyright owner gives unlimited
20 # permission to copy, distribute and modify the configure scripts that
21 # are the output of Autoconf when processing the Macro. You need not
22 # follow the terms of the GNU General Public License when using or
23 # distributing such scripts, even though portions of the text of the
24 # Macro appear in them. The GNU General Public License (GPL) does govern
25 # all other use of the material that constitutes the Autoconf Macro.
126
227 # serial 2
328
2727 iio-buffer-utils.c \
2828 accel-mount-matrix.h \
2929 accel-mount-matrix.c \
30 accel-location.h \
31 accel-location.c \
3032 $(BUILT_SOURCES)
3133
3234 iio_sensor_proxy_CPPFLAGS = \
3436 $(WARN_CFLAGS)
3537 iio_sensor_proxy_LDADD = $(IIO_SENSOR_PROXY_LIBS) $(LIBM)
3638
37 noinst_PROGRAMS = fake-input-accelerometer test-mount-matrix test-orientation
39 noinst_PROGRAMS = fake-input-accelerometer test-mount-matrix test-accel-location test-orientation
3840
3941 fake_input_accelerometer_SOURCES = \
4042 fake-input-accelerometer.c \
4547 $(WARN_CFLAGS)
4648 fake_input_accelerometer_LDADD = $(IIO_SENSOR_PROXY_LIBS)
4749
50 include $(top_srcdir)/Makefile.decl
51 TEST_PROGS += test-mount-matrix test-accel-location test-orientation
52
4853 test_mount_matrix_SOURCES = \
4954 test-mount-matrix.c \
5055 accel-mount-matrix.h \
5459 $(IIO_SENSOR_PROXY_CFLAGS) \
5560 $(WARN_CFLAGS)
5661 test_mount_matrix_LDADD = $(IIO_SENSOR_PROXY_LIBS)
62
63 test_accel_location_SOURCES = \
64 test-accel-location.c \
65 accel-location.h \
66 accel-location.c
67
68 test_accel_location_CPPFLAGS = \
69 $(IIO_SENSOR_PROXY_CFLAGS) \
70 $(WARN_CFLAGS)
71 test_accel_location_LDADD = $(IIO_SENSOR_PROXY_LIBS)
5772
5873 test_orientation_SOURCES = \
5974 test-orientation.c \
0 # Makefile.in generated by automake 1.15.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2017 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
8989 host_triplet = @host@
9090 sbin_PROGRAMS = iio-sensor-proxy$(EXEEXT)
9191 noinst_PROGRAMS = fake-input-accelerometer$(EXEEXT) \
92 test-mount-matrix$(EXEEXT) test-orientation$(EXEEXT) \
93 $(am__EXEEXT_1)
92 test-mount-matrix$(EXEEXT) test-accel-location$(EXEEXT) \
93 test-orientation$(EXEEXT) $(am__EXEEXT_1)
9494 @HAVE_GTK_TESTS_TRUE@am__append_1 = test-orientation-gtk
9595 bin_PROGRAMS = monitor-sensor$(EXEEXT)
9696 subdir = src
137137 iio_sensor_proxy-drv-iio-buffer-light.$(OBJEXT) \
138138 iio_sensor_proxy-drv-iio-buffer-compass.$(OBJEXT) \
139139 iio_sensor_proxy-iio-buffer-utils.$(OBJEXT) \
140 iio_sensor_proxy-accel-mount-matrix.$(OBJEXT) $(am__objects_1)
140 iio_sensor_proxy-accel-mount-matrix.$(OBJEXT) \
141 iio_sensor_proxy-accel-location.$(OBJEXT) $(am__objects_1)
141142 iio_sensor_proxy_OBJECTS = $(am_iio_sensor_proxy_OBJECTS)
142143 iio_sensor_proxy_DEPENDENCIES = $(am__DEPENDENCIES_1) \
143144 $(am__DEPENDENCIES_1)
144145 am_monitor_sensor_OBJECTS = monitor_sensor-monitor-sensor.$(OBJEXT)
145146 monitor_sensor_OBJECTS = $(am_monitor_sensor_OBJECTS)
146147 monitor_sensor_DEPENDENCIES = $(am__DEPENDENCIES_1)
148 am_test_accel_location_OBJECTS = \
149 test_accel_location-test-accel-location.$(OBJEXT) \
150 test_accel_location-accel-location.$(OBJEXT)
151 test_accel_location_OBJECTS = $(am_test_accel_location_OBJECTS)
152 test_accel_location_DEPENDENCIES = $(am__DEPENDENCIES_1)
147153 am_test_mount_matrix_OBJECTS = \
148154 test_mount_matrix-test-mount-matrix.$(OBJEXT) \
149155 test_mount_matrix-accel-mount-matrix.$(OBJEXT)
178184 am__v_at_1 =
179185 DEFAULT_INCLUDES = -I.@am__isrc@
180186 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
181 am__depfiles_maybe = depfiles
187 am__maybe_remake_depfiles = depfiles
188 am__depfiles_remade = ./$(DEPDIR)/fake_input_accelerometer-fake-input-accelerometer.Po \
189 ./$(DEPDIR)/iio_sensor_proxy-accel-location.Po \
190 ./$(DEPDIR)/iio_sensor_proxy-accel-mount-matrix.Po \
191 ./$(DEPDIR)/iio_sensor_proxy-drv-fake-compass.Po \
192 ./$(DEPDIR)/iio_sensor_proxy-drv-fake-light.Po \
193 ./$(DEPDIR)/iio_sensor_proxy-drv-hwmon-light.Po \
194 ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-accel.Po \
195 ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-compass.Po \
196 ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-light.Po \
197 ./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-accel.Po \
198 ./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-light.Po \
199 ./$(DEPDIR)/iio_sensor_proxy-drv-input-accel.Po \
200 ./$(DEPDIR)/iio_sensor_proxy-iio-buffer-utils.Po \
201 ./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Po \
202 ./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy.Po \
203 ./$(DEPDIR)/iio_sensor_proxy-orientation.Po \
204 ./$(DEPDIR)/monitor_sensor-monitor-sensor.Po \
205 ./$(DEPDIR)/test_accel_location-accel-location.Po \
206 ./$(DEPDIR)/test_accel_location-test-accel-location.Po \
207 ./$(DEPDIR)/test_mount_matrix-accel-mount-matrix.Po \
208 ./$(DEPDIR)/test_mount_matrix-test-mount-matrix.Po \
209 ./$(DEPDIR)/test_orientation-accel-mount-matrix.Po \
210 ./$(DEPDIR)/test_orientation-orientation.Po \
211 ./$(DEPDIR)/test_orientation-test-orientation.Po \
212 ./$(DEPDIR)/test_orientation_gtk-orientation.Po \
213 ./$(DEPDIR)/test_orientation_gtk-test-orientation-gtk.Po
182214 am__mv = mv -f
183215 AM_V_lt = $(am__v_lt_@AM_V@)
184216 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
198230 am__v_CCLD_1 =
199231 SOURCES = $(fake_input_accelerometer_SOURCES) \
200232 $(iio_sensor_proxy_SOURCES) $(monitor_sensor_SOURCES) \
201 $(test_mount_matrix_SOURCES) $(test_orientation_SOURCES) \
202 $(test_orientation_gtk_SOURCES)
233 $(test_accel_location_SOURCES) $(test_mount_matrix_SOURCES) \
234 $(test_orientation_SOURCES) $(test_orientation_gtk_SOURCES)
203235 DIST_SOURCES = $(fake_input_accelerometer_SOURCES) \
204236 $(iio_sensor_proxy_SOURCES) $(monitor_sensor_SOURCES) \
205 $(test_mount_matrix_SOURCES) $(test_orientation_SOURCES) \
237 $(test_accel_location_SOURCES) $(test_mount_matrix_SOURCES) \
238 $(test_orientation_SOURCES) \
206239 $(am__test_orientation_gtk_SOURCES_DIST)
207240 am__can_run_installinfo = \
208241 case $$AM_UPDATE_INFO_DIR in \
228261 done | $(am__uniquify_input)`
229262 ETAGS = etags
230263 CTAGS = ctags
231 am__DIST_COMMON = $(srcdir)/Makefile.in \
264 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.decl \
232265 $(top_srcdir)/build-aux/depcomp
233266 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
234267 ACLOCAL = @ACLOCAL@
369402 iio-buffer-utils.c \
370403 accel-mount-matrix.h \
371404 accel-mount-matrix.c \
405 accel-location.h \
406 accel-location.c \
372407 $(BUILT_SOURCES)
373408
374409 iio_sensor_proxy_CPPFLAGS = \
385420 $(WARN_CFLAGS)
386421
387422 fake_input_accelerometer_LDADD = $(IIO_SENSOR_PROXY_LIBS)
423
424 # Note, we need this set for umockdev to be available in tests
425 GTESTER = gtester # in $PATH for non-GLIB packages
426 GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
427
428 # initialize variables for unconditional += appending
429 TEST_PROGS = test-mount-matrix test-accel-location test-orientation
388430 test_mount_matrix_SOURCES = \
389431 test-mount-matrix.c \
390432 accel-mount-matrix.h \
395437 $(WARN_CFLAGS)
396438
397439 test_mount_matrix_LDADD = $(IIO_SENSOR_PROXY_LIBS)
440 test_accel_location_SOURCES = \
441 test-accel-location.c \
442 accel-location.h \
443 accel-location.c
444
445 test_accel_location_CPPFLAGS = \
446 $(IIO_SENSOR_PROXY_CFLAGS) \
447 $(WARN_CFLAGS)
448
449 test_accel_location_LDADD = $(IIO_SENSOR_PROXY_LIBS)
398450 test_orientation_SOURCES = \
399451 test-orientation.c \
400452 orientation.c \
435487
436488 .SUFFIXES:
437489 .SUFFIXES: .c .o .obj
438 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
490 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(am__configure_deps)
439491 @for dep in $?; do \
440492 case '$(am__configure_deps)' in \
441493 *$$dep*) \
452504 *config.status*) \
453505 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
454506 *) \
455 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
456 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
507 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
508 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
457509 esac;
510 $(top_srcdir)/Makefile.decl $(am__empty):
458511
459512 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
460513 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
564617 @rm -f monitor-sensor$(EXEEXT)
565618 $(AM_V_CCLD)$(LINK) $(monitor_sensor_OBJECTS) $(monitor_sensor_LDADD) $(LIBS)
566619
620 test-accel-location$(EXEEXT): $(test_accel_location_OBJECTS) $(test_accel_location_DEPENDENCIES) $(EXTRA_test_accel_location_DEPENDENCIES)
621 @rm -f test-accel-location$(EXEEXT)
622 $(AM_V_CCLD)$(LINK) $(test_accel_location_OBJECTS) $(test_accel_location_LDADD) $(LIBS)
623
567624 test-mount-matrix$(EXEEXT): $(test_mount_matrix_OBJECTS) $(test_mount_matrix_DEPENDENCIES) $(EXTRA_test_mount_matrix_DEPENDENCIES)
568625 @rm -f test-mount-matrix$(EXEEXT)
569626 $(AM_V_CCLD)$(LINK) $(test_mount_matrix_OBJECTS) $(test_mount_matrix_LDADD) $(LIBS)
582639 distclean-compile:
583640 -rm -f *.tab.c
584641
585 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fake_input_accelerometer-fake-input-accelerometer.Po@am__quote@
586 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-accel-mount-matrix.Po@am__quote@
587 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-fake-compass.Po@am__quote@
588 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-fake-light.Po@am__quote@
589 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-hwmon-light.Po@am__quote@
590 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-accel.Po@am__quote@
591 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-compass.Po@am__quote@
592 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-light.Po@am__quote@
593 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-accel.Po@am__quote@
594 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-light.Po@am__quote@
595 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-input-accel.Po@am__quote@
596 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-iio-buffer-utils.Po@am__quote@
597 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Po@am__quote@
598 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy.Po@am__quote@
599 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-orientation.Po@am__quote@
600 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/monitor_sensor-monitor-sensor.Po@am__quote@
601 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_mount_matrix-accel-mount-matrix.Po@am__quote@
602 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_mount_matrix-test-mount-matrix.Po@am__quote@
603 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation-accel-mount-matrix.Po@am__quote@
604 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation-orientation.Po@am__quote@
605 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation-test-orientation.Po@am__quote@
606 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation_gtk-orientation.Po@am__quote@
607 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation_gtk-test-orientation-gtk.Po@am__quote@
642 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fake_input_accelerometer-fake-input-accelerometer.Po@am__quote@ # am--include-marker
643 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-accel-location.Po@am__quote@ # am--include-marker
644 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-accel-mount-matrix.Po@am__quote@ # am--include-marker
645 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-fake-compass.Po@am__quote@ # am--include-marker
646 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-fake-light.Po@am__quote@ # am--include-marker
647 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-hwmon-light.Po@am__quote@ # am--include-marker
648 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-accel.Po@am__quote@ # am--include-marker
649 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-compass.Po@am__quote@ # am--include-marker
650 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-light.Po@am__quote@ # am--include-marker
651 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-accel.Po@am__quote@ # am--include-marker
652 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-light.Po@am__quote@ # am--include-marker
653 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-drv-input-accel.Po@am__quote@ # am--include-marker
654 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-iio-buffer-utils.Po@am__quote@ # am--include-marker
655 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Po@am__quote@ # am--include-marker
656 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy.Po@am__quote@ # am--include-marker
657 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iio_sensor_proxy-orientation.Po@am__quote@ # am--include-marker
658 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/monitor_sensor-monitor-sensor.Po@am__quote@ # am--include-marker
659 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_accel_location-accel-location.Po@am__quote@ # am--include-marker
660 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_accel_location-test-accel-location.Po@am__quote@ # am--include-marker
661 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_mount_matrix-accel-mount-matrix.Po@am__quote@ # am--include-marker
662 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_mount_matrix-test-mount-matrix.Po@am__quote@ # am--include-marker
663 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation-accel-mount-matrix.Po@am__quote@ # am--include-marker
664 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation-orientation.Po@am__quote@ # am--include-marker
665 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation-test-orientation.Po@am__quote@ # am--include-marker
666 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation_gtk-orientation.Po@am__quote@ # am--include-marker
667 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_orientation_gtk-test-orientation-gtk.Po@am__quote@ # am--include-marker
668
669 $(am__depfiles_remade):
670 @$(MKDIR_P) $(@D)
671 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
672
673 am--depfiles: $(am__depfiles_remade)
608674
609675 .c.o:
610676 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
816882 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
817883 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iio_sensor_proxy_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iio_sensor_proxy-accel-mount-matrix.obj `if test -f 'accel-mount-matrix.c'; then $(CYGPATH_W) 'accel-mount-matrix.c'; else $(CYGPATH_W) '$(srcdir)/accel-mount-matrix.c'; fi`
818884
885 iio_sensor_proxy-accel-location.o: accel-location.c
886 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iio_sensor_proxy_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iio_sensor_proxy-accel-location.o -MD -MP -MF $(DEPDIR)/iio_sensor_proxy-accel-location.Tpo -c -o iio_sensor_proxy-accel-location.o `test -f 'accel-location.c' || echo '$(srcdir)/'`accel-location.c
887 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/iio_sensor_proxy-accel-location.Tpo $(DEPDIR)/iio_sensor_proxy-accel-location.Po
888 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='accel-location.c' object='iio_sensor_proxy-accel-location.o' libtool=no @AMDEPBACKSLASH@
889 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
890 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iio_sensor_proxy_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iio_sensor_proxy-accel-location.o `test -f 'accel-location.c' || echo '$(srcdir)/'`accel-location.c
891
892 iio_sensor_proxy-accel-location.obj: accel-location.c
893 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iio_sensor_proxy_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iio_sensor_proxy-accel-location.obj -MD -MP -MF $(DEPDIR)/iio_sensor_proxy-accel-location.Tpo -c -o iio_sensor_proxy-accel-location.obj `if test -f 'accel-location.c'; then $(CYGPATH_W) 'accel-location.c'; else $(CYGPATH_W) '$(srcdir)/accel-location.c'; fi`
894 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/iio_sensor_proxy-accel-location.Tpo $(DEPDIR)/iio_sensor_proxy-accel-location.Po
895 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='accel-location.c' object='iio_sensor_proxy-accel-location.obj' libtool=no @AMDEPBACKSLASH@
896 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
897 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iio_sensor_proxy_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iio_sensor_proxy-accel-location.obj `if test -f 'accel-location.c'; then $(CYGPATH_W) 'accel-location.c'; else $(CYGPATH_W) '$(srcdir)/accel-location.c'; fi`
898
819899 iio_sensor_proxy-iio-sensor-proxy-resources.o: iio-sensor-proxy-resources.c
820900 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iio_sensor_proxy_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iio_sensor_proxy-iio-sensor-proxy-resources.o -MD -MP -MF $(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Tpo -c -o iio_sensor_proxy-iio-sensor-proxy-resources.o `test -f 'iio-sensor-proxy-resources.c' || echo '$(srcdir)/'`iio-sensor-proxy-resources.c
821901 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Tpo $(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Po
843923 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='monitor-sensor.c' object='monitor_sensor-monitor-sensor.obj' libtool=no @AMDEPBACKSLASH@
844924 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
845925 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(monitor_sensor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o monitor_sensor-monitor-sensor.obj `if test -f 'monitor-sensor.c'; then $(CYGPATH_W) 'monitor-sensor.c'; else $(CYGPATH_W) '$(srcdir)/monitor-sensor.c'; fi`
926
927 test_accel_location-test-accel-location.o: test-accel-location.c
928 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_accel_location-test-accel-location.o -MD -MP -MF $(DEPDIR)/test_accel_location-test-accel-location.Tpo -c -o test_accel_location-test-accel-location.o `test -f 'test-accel-location.c' || echo '$(srcdir)/'`test-accel-location.c
929 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_accel_location-test-accel-location.Tpo $(DEPDIR)/test_accel_location-test-accel-location.Po
930 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-accel-location.c' object='test_accel_location-test-accel-location.o' libtool=no @AMDEPBACKSLASH@
931 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
932 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_accel_location-test-accel-location.o `test -f 'test-accel-location.c' || echo '$(srcdir)/'`test-accel-location.c
933
934 test_accel_location-test-accel-location.obj: test-accel-location.c
935 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_accel_location-test-accel-location.obj -MD -MP -MF $(DEPDIR)/test_accel_location-test-accel-location.Tpo -c -o test_accel_location-test-accel-location.obj `if test -f 'test-accel-location.c'; then $(CYGPATH_W) 'test-accel-location.c'; else $(CYGPATH_W) '$(srcdir)/test-accel-location.c'; fi`
936 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_accel_location-test-accel-location.Tpo $(DEPDIR)/test_accel_location-test-accel-location.Po
937 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-accel-location.c' object='test_accel_location-test-accel-location.obj' libtool=no @AMDEPBACKSLASH@
938 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
939 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_accel_location-test-accel-location.obj `if test -f 'test-accel-location.c'; then $(CYGPATH_W) 'test-accel-location.c'; else $(CYGPATH_W) '$(srcdir)/test-accel-location.c'; fi`
940
941 test_accel_location-accel-location.o: accel-location.c
942 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_accel_location-accel-location.o -MD -MP -MF $(DEPDIR)/test_accel_location-accel-location.Tpo -c -o test_accel_location-accel-location.o `test -f 'accel-location.c' || echo '$(srcdir)/'`accel-location.c
943 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_accel_location-accel-location.Tpo $(DEPDIR)/test_accel_location-accel-location.Po
944 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='accel-location.c' object='test_accel_location-accel-location.o' libtool=no @AMDEPBACKSLASH@
945 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
946 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_accel_location-accel-location.o `test -f 'accel-location.c' || echo '$(srcdir)/'`accel-location.c
947
948 test_accel_location-accel-location.obj: accel-location.c
949 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_accel_location-accel-location.obj -MD -MP -MF $(DEPDIR)/test_accel_location-accel-location.Tpo -c -o test_accel_location-accel-location.obj `if test -f 'accel-location.c'; then $(CYGPATH_W) 'accel-location.c'; else $(CYGPATH_W) '$(srcdir)/accel-location.c'; fi`
950 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_accel_location-accel-location.Tpo $(DEPDIR)/test_accel_location-accel-location.Po
951 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='accel-location.c' object='test_accel_location-accel-location.obj' libtool=no @AMDEPBACKSLASH@
952 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
953 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_accel_location_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_accel_location-accel-location.obj `if test -f 'accel-location.c'; then $(CYGPATH_W) 'accel-location.c'; else $(CYGPATH_W) '$(srcdir)/accel-location.c'; fi`
846954
847955 test_mount_matrix-test-mount-matrix.o: test-mount-matrix.c
848956 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_mount_matrix_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_mount_matrix-test-mount-matrix.o -MD -MP -MF $(DEPDIR)/test_mount_matrix-test-mount-matrix.Tpo -c -o test_mount_matrix-test-mount-matrix.o `test -f 'test-mount-matrix.c' || echo '$(srcdir)/'`test-mount-matrix.c
9941102 distclean-tags:
9951103 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
9961104
997 distdir: $(DISTFILES)
1105 distdir: $(BUILT_SOURCES)
1106 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1107
1108 distdir-am: $(DISTFILES)
9981109 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
9991110 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
10001111 list='$(DISTFILES)'; \
10251136 fi; \
10261137 done
10271138 check-am: all-am
1139 $(MAKE) $(AM_MAKEFLAGS) check-local
10281140 check: $(BUILT_SOURCES)
10291141 $(MAKE) $(AM_MAKEFLAGS) check-am
10301142 all-am: Makefile $(PROGRAMS)
10701182 clean-sbinPROGRAMS mostlyclean-am
10711183
10721184 distclean: distclean-am
1073 -rm -rf ./$(DEPDIR)
1185 -rm -f ./$(DEPDIR)/fake_input_accelerometer-fake-input-accelerometer.Po
1186 -rm -f ./$(DEPDIR)/iio_sensor_proxy-accel-location.Po
1187 -rm -f ./$(DEPDIR)/iio_sensor_proxy-accel-mount-matrix.Po
1188 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-fake-compass.Po
1189 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-fake-light.Po
1190 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-hwmon-light.Po
1191 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-accel.Po
1192 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-compass.Po
1193 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-light.Po
1194 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-accel.Po
1195 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-light.Po
1196 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-input-accel.Po
1197 -rm -f ./$(DEPDIR)/iio_sensor_proxy-iio-buffer-utils.Po
1198 -rm -f ./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Po
1199 -rm -f ./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy.Po
1200 -rm -f ./$(DEPDIR)/iio_sensor_proxy-orientation.Po
1201 -rm -f ./$(DEPDIR)/monitor_sensor-monitor-sensor.Po
1202 -rm -f ./$(DEPDIR)/test_accel_location-accel-location.Po
1203 -rm -f ./$(DEPDIR)/test_accel_location-test-accel-location.Po
1204 -rm -f ./$(DEPDIR)/test_mount_matrix-accel-mount-matrix.Po
1205 -rm -f ./$(DEPDIR)/test_mount_matrix-test-mount-matrix.Po
1206 -rm -f ./$(DEPDIR)/test_orientation-accel-mount-matrix.Po
1207 -rm -f ./$(DEPDIR)/test_orientation-orientation.Po
1208 -rm -f ./$(DEPDIR)/test_orientation-test-orientation.Po
1209 -rm -f ./$(DEPDIR)/test_orientation_gtk-orientation.Po
1210 -rm -f ./$(DEPDIR)/test_orientation_gtk-test-orientation-gtk.Po
10741211 -rm -f Makefile
10751212 distclean-am: clean-am distclean-compile distclean-generic \
10761213 distclean-tags
11161253 installcheck-am:
11171254
11181255 maintainer-clean: maintainer-clean-am
1119 -rm -rf ./$(DEPDIR)
1256 -rm -f ./$(DEPDIR)/fake_input_accelerometer-fake-input-accelerometer.Po
1257 -rm -f ./$(DEPDIR)/iio_sensor_proxy-accel-location.Po
1258 -rm -f ./$(DEPDIR)/iio_sensor_proxy-accel-mount-matrix.Po
1259 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-fake-compass.Po
1260 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-fake-light.Po
1261 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-hwmon-light.Po
1262 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-accel.Po
1263 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-compass.Po
1264 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-buffer-light.Po
1265 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-accel.Po
1266 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-iio-poll-light.Po
1267 -rm -f ./$(DEPDIR)/iio_sensor_proxy-drv-input-accel.Po
1268 -rm -f ./$(DEPDIR)/iio_sensor_proxy-iio-buffer-utils.Po
1269 -rm -f ./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy-resources.Po
1270 -rm -f ./$(DEPDIR)/iio_sensor_proxy-iio-sensor-proxy.Po
1271 -rm -f ./$(DEPDIR)/iio_sensor_proxy-orientation.Po
1272 -rm -f ./$(DEPDIR)/monitor_sensor-monitor-sensor.Po
1273 -rm -f ./$(DEPDIR)/test_accel_location-accel-location.Po
1274 -rm -f ./$(DEPDIR)/test_accel_location-test-accel-location.Po
1275 -rm -f ./$(DEPDIR)/test_mount_matrix-accel-mount-matrix.Po
1276 -rm -f ./$(DEPDIR)/test_mount_matrix-test-mount-matrix.Po
1277 -rm -f ./$(DEPDIR)/test_orientation-accel-mount-matrix.Po
1278 -rm -f ./$(DEPDIR)/test_orientation-orientation.Po
1279 -rm -f ./$(DEPDIR)/test_orientation-test-orientation.Po
1280 -rm -f ./$(DEPDIR)/test_orientation_gtk-orientation.Po
1281 -rm -f ./$(DEPDIR)/test_orientation_gtk-test-orientation-gtk.Po
11201282 -rm -f Makefile
11211283 maintainer-clean-am: distclean-am maintainer-clean-generic
11221284
11341296
11351297 uninstall-am: uninstall-binPROGRAMS uninstall-sbinPROGRAMS
11361298
1137 .MAKE: all check install install-am install-strip
1138
1139 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
1140 clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
1141 clean-sbinPROGRAMS cscopelist-am ctags ctags-am distclean \
1142 distclean-compile distclean-generic distclean-tags distdir dvi \
1143 dvi-am html html-am info info-am install install-am \
1144 install-binPROGRAMS install-data install-data-am install-dvi \
1145 install-dvi-am install-exec install-exec-am install-html \
1146 install-html-am install-info install-info-am install-man \
1147 install-pdf install-pdf-am install-ps install-ps-am \
1148 install-sbinPROGRAMS install-strip installcheck \
1149 installcheck-am installdirs maintainer-clean \
1299 .MAKE: all check check-am install install-am install-strip
1300
1301 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
1302 check-local clean clean-binPROGRAMS clean-generic \
1303 clean-noinstPROGRAMS clean-sbinPROGRAMS cscopelist-am ctags \
1304 ctags-am distclean distclean-compile distclean-generic \
1305 distclean-tags distdir dvi dvi-am html html-am info info-am \
1306 install install-am install-binPROGRAMS install-data \
1307 install-data-am install-dvi install-dvi-am install-exec \
1308 install-exec-am install-html install-html-am install-info \
1309 install-info-am install-man install-pdf install-pdf-am \
1310 install-ps install-ps-am install-sbinPROGRAMS install-strip \
1311 installcheck installcheck-am installdirs maintainer-clean \
11501312 maintainer-clean-generic mostlyclean mostlyclean-compile \
11511313 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
11521314 uninstall-am uninstall-binPROGRAMS uninstall-sbinPROGRAMS
11581320 iio-sensor-proxy-resources.h: iio-sensor-proxy.gresource.xml $(resource_files)
11591321 $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-header --c-name iio_sensor_proxy $<
11601322
1323 # test: run all tests in cwd and subdirs
1324 test: ${TEST_PROGS}
1325 @test -z "${TEST_PROGS}" || ${GTESTER} --verbose ${TEST_PROGS}
1326 @ for subdir in $(SUBDIRS) . ; do \
1327 test "$$subdir" = "." -o "$$subdir" = "po" || \
1328 ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
1329 done
1330
1331 # test-report: run tests in subdirs and generate report
1332 # perf-report: run tests in subdirs with -m perf and generate report
1333 # full-report: like test-report: with -m perf and -m slow
1334 test-report perf-report full-report: ${TEST_PROGS}
1335 @test -z "${TEST_PROGS}" || { \
1336 case $@ in \
1337 test-report) test_options="-k";; \
1338 perf-report) test_options="-k -m=perf";; \
1339 full-report) test_options="-k -m=perf -m=slow";; \
1340 esac ; \
1341 if test -z "$$GTESTER_LOGDIR" ; then \
1342 ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
1343 elif test -n "${TEST_PROGS}" ; then \
1344 ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
1345 fi ; \
1346 }
1347 @ ignore_logdir=true ; \
1348 if test -z "$$GTESTER_LOGDIR" ; then \
1349 GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
1350 ignore_logdir=false ; \
1351 fi ; \
1352 for subdir in $(SUBDIRS) . ; do \
1353 test "$$subdir" = "." -o "$$subdir" = "po" || \
1354 ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
1355 done ; \
1356 $$ignore_logdir || { \
1357 echo '<?xml version="1.0"?>' > $@.xml ; \
1358 echo '<report-collection>' >> $@.xml ; \
1359 for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
1360 sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
1361 done ; \
1362 echo >> $@.xml ; \
1363 echo '</report-collection>' >> $@.xml ; \
1364 rm -rf "$$GTESTER_LOGDIR"/ ; \
1365 ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
1366 }
1367 .PHONY: test test-report perf-report full-report
1368 # run make test as part of make check
1369 check-local: test
1370
11611371 # Tell versions [3.59,3.63) of GNU make to not export all variables.
11621372 # Otherwise a system limit (for SysV at least) may be exceeded.
11631373 .NOEXPORT:
0 /*
1 * Copyright (c) 2019 Luís Ferreira <luis@aurorafoss.org>
2 *
3 * This program is free software; you can redistribute it and/or modify it
4 * under the terms of the GNU General Public License version 3 as published by
5 * the Free Software Foundation.
6 *
7 */
8
9 #include "accel-location.h"
10
11 AccelLocation
12 setup_accel_location (GUdevDevice *device)
13 {
14 AccelLocation ret;
15 const char *location;
16
17 location = g_udev_device_get_property (device, "ACCEL_LOCATION");
18 if (location) {
19 if (parse_accel_location (location, &ret))
20 return ret;
21
22 g_warning ("Failed to parse ACCEL_LOCATION ('%s') from udev",
23 location);
24 }
25 location = g_udev_device_get_sysfs_attr (device, "location");
26 if (location) {
27 if (parse_accel_location (location, &ret))
28 return ret;
29
30 g_warning ("Failed to parse location ('%s') from sysfs",
31 location);
32 }
33 g_debug ("No auto-detected location, falling back to display location");
34
35 ret = ACCEL_LOCATION_DISPLAY;
36 return ret;
37 }
38
39 gboolean
40 parse_accel_location (const char *location, AccelLocation *value)
41 {
42 /* Empty string means we use the display location */
43 if (location == NULL ||
44 *location == '\0' ||
45 g_str_equal (location, "display") ||
46 g_str_equal (location, "lid")) {
47 *value = ACCEL_LOCATION_DISPLAY;
48 return TRUE;
49 } else if (g_str_equal (location, "base")) {
50 *value = ACCEL_LOCATION_BASE;
51 return TRUE;
52 } else {
53 g_warning ("Failed to parse '%s' as a location", location);
54 return FALSE;
55 }
56 }
0 /*
1 * Copyright (c) 2019 Luís Ferreira <luis@aurorafoss.org>
2 *
3 * This program is free software; you can redistribute it and/or modify it
4 * under the terms of the GNU General Public License version 3 as published by
5 * the Free Software Foundation.
6 *
7 */
8
9 #include <glib.h>
10 #include <gudev/gudev.h>
11
12 typedef enum {
13 ACCEL_LOCATION_DISPLAY,
14 ACCEL_LOCATION_BASE,
15 } AccelLocation;
16
17 AccelLocation setup_accel_location (GUdevDevice *device);
18
19 gboolean parse_accel_location (const char *location,
20 AccelLocation *value);
2121 { 0.0, 0.0, 1.0 }
2222 };
2323
24 static char axis_names[] = "xyz";
25
26 AccelVec3 *
27 setup_mount_matrix (GUdevDevice *device)
28 {
29 AccelVec3 *ret = NULL;
30 const char *mount_matrix;
31
32 mount_matrix = g_udev_device_get_property (device, "ACCEL_MOUNT_MATRIX");
33 if (mount_matrix) {
34 if (parse_mount_matrix (mount_matrix, &ret))
35 return ret;
36
37 g_warning ("Failed to parse ACCEL_MOUNT_MATRIX ('%s') from udev",
38 mount_matrix);
39 g_clear_pointer (&ret, g_free);
40 }
41
42 mount_matrix = g_udev_device_get_sysfs_attr (device, "mount_matrix");
43 if (mount_matrix) {
44 if (parse_mount_matrix (mount_matrix, &ret))
45 return ret;
46
47 g_warning ("Failed to parse mount_matrix ('%s') from sysfs",
48 mount_matrix);
49 g_clear_pointer (&ret, g_free);
50 }
51
52 g_debug ("Failed to auto-detect mount matrix, falling back to identity");
53 parse_mount_matrix (NULL, &ret);
54 return ret;
55 }
56
2457 gboolean
2558 parse_mount_matrix (const char *mtx,
2659 AccelVec3 *vecs[3])
2760 {
2861 AccelVec3 *ret;
62 guint i;
2963
3064 g_return_val_if_fail (vecs != NULL, FALSE);
3165
4478 g_free (ret);
4579 g_warning ("Failed to parse '%s' as a mount matrix", mtx);
4680 return FALSE;
81 }
82
83 for (i = 0; i < G_N_ELEMENTS(id_matrix); i++) {
84 if (ret[i].x == 0.0f &&
85 ret[i].y == 0.0f &&
86 ret[i].z == 0.0f) {
87 g_free (ret);
88 g_warning ("In mount matrix '%s', axis %c is all zeroes, which is invalid",
89 mtx, axis_names[i]);
90 return FALSE;
91 }
4792 }
4893
4994 *vecs = ret;
77 */
88
99 #include <glib.h>
10 #include <gudev/gudev.h>
1011
1112 typedef struct {
1213 float x;
1415 float z;
1516 } AccelVec3;
1617
18 AccelVec3 *setup_mount_matrix (GUdevDevice *device);
19
1720 gboolean parse_mount_matrix (const char *mtx,
1821 AccelVec3 *vecs[3]);
1922
77
88 #include <glib.h>
99 #include <gudev/gudev.h>
10
11 #include "accel-location.h"
1012
1113 typedef enum {
1214 DRIVER_TYPE_ACCEL,
7678 g_return_val_if_fail (driver->discover, FALSE);
7779 g_return_val_if_fail (device, FALSE);
7880
79 return driver->discover (device);
81 if (!driver->discover (device))
82 return FALSE;
83
84 if (driver->type != DRIVER_TYPE_ACCEL)
85 return TRUE;
86
87 return (setup_accel_location (device) == ACCEL_LOCATION_DISPLAY);
8088 }
8189
8290 static inline gboolean
4242 }
4343
4444 static gboolean
45 compass_changed (void)
45 compass_changed (gpointer user_data)
4646 {
4747 static gdouble heading = 0;
4848 CompassReadings readings;
6161 static gboolean
6262 first_values (gpointer user_data)
6363 {
64 compass_changed ();
64 compass_changed (NULL);
6565 drv_data->timeout_id = g_timeout_add_seconds (1, (GSourceFunc) compass_changed, NULL);
6666 g_source_set_name_by_id (drv_data->timeout_id, "[fake_compass_set_polling] compass_changed");
6767 return G_SOURCE_REMOVE;
3030 if (g_getenv ("FAKE_LIGHT_SENSOR") == NULL)
3131 return FALSE;
3232
33 if (g_strcmp0 (g_udev_device_get_subsystem (device), "input") != 0)
34 return FALSE;
35
36 /* "Lid switch" is a random input device to latch onto */
37 if (g_strcmp0 (g_udev_device_get_property (device, "NAME"), "\"Lid Switch\"") == 0)
33 /* We need a udev device to associate with our fake light sensor,
34 * and the power button is as good as any, and should be available
35 * on most devices we want to run this on. */
36 if (g_strcmp0 (g_udev_device_get_subsystem (device), "input") != 0 ||
37 g_strcmp0 (g_udev_device_get_property (device, "NAME"), "\"Power Button\"") != 0)
3838 return FALSE;
3939
4040 g_debug ("Found fake light at %s", g_udev_device_get_sysfs_path (device));
4242 }
4343
4444 static gboolean
45 light_changed (void)
45 light_changed (gpointer user_data)
4646 {
4747 static gdouble level = -1.0;
4848 LightReadings readings;
6161 static gboolean
6262 first_values (gpointer user_data)
6363 {
64 light_changed ();
64 light_changed (NULL);
6565 drv_data->timeout_id = g_timeout_add_seconds (1, (GSourceFunc) light_changed, NULL);
6666 g_source_set_name_by_id (drv_data->timeout_id, "[fake_light_set_polling] light_changed");
6767 return G_SOURCE_REMOVE;
3737 }
3838
3939 static gboolean
40 light_changed (void)
40 light_changed (gpointer user_data)
4141 {
4242 LightReadings readings;
4343 gdouble level;
5151 g_free (contents);
5252 return G_SOURCE_CONTINUE;
5353 }
54 level = ((float) MAX(light1, light2)) / (float) MAX_LIGHT_LEVEL * 100.0;
54 level = (double) (((float) MAX(light1, light2)) / (float) MAX_LIGHT_LEVEL * 100.0f);
5555 g_free (contents);
5656 } else {
5757 g_warning ("Failed to read input level at %s: %s",
100100 g_source_set_name_by_id (drv_data->timeout_id, "[hwmon_light_set_polling] light_changed");
101101
102102 /* And send a reading straight away */
103 light_changed ();
103 light_changed (NULL);
104104 }
105105 }
106106
2323 const char *dev_path;
2424 const char *name;
2525 AccelVec3 *mount_matrix;
26 AccelLocation location;
2627 int device_id;
2728 BufferDrvData *buffer_data;
2829 } DrvData;
199200 gpointer user_data)
200201 {
201202 char *trigger_name;
202 const char *mount_matrix;
203203
204204 drv_data = g_new0 (DrvData, 1);
205205
217217 return FALSE;
218218 }
219219
220 mount_matrix = g_udev_device_get_property (device, "ACCEL_MOUNT_MATRIX");
221 if (!parse_mount_matrix (mount_matrix, &drv_data->mount_matrix)) {
222 g_warning ("Invalid mount-matrix ('%s'), falling back to identity",
223 mount_matrix);
224 parse_mount_matrix (NULL, &drv_data->mount_matrix);
225 }
226
220 drv_data->mount_matrix = setup_mount_matrix (device);
221 drv_data->location = setup_accel_location (device);
227222 drv_data->dev = g_object_ref (device);
228223 drv_data->dev_path = g_udev_device_get_device_file (device);
229224 drv_data->name = g_udev_device_get_property (device, "NAME");
5555 process_scan_1(data.data + or_data->buffer_data->scan_size*i, or_data->buffer_data, "in_intensity_both", &level, &scale, &present_level);
5656
5757 g_debug ("Light read from IIO on '%s': %d (scale %lf) = %lf", or_data->name, level, scale, level * scale);
58 readings.level = level;
59 if (scale)
60 readings.level *= scale;
58 readings.level = level * scale;
6159
6260 /* Even though the IIO kernel API declares in_intensity* values as unitless,
6361 * we use Microsoft's hid-sensors-usages.docx which mentions that Windows 8
66 */
77
88 #include "drivers.h"
9 #include "iio-buffer-utils.h"
910 #include "accel-mount-matrix.h"
1011
1112 #include <fcntl.h>
2223 GUdevDevice *dev;
2324 const char *name;
2425 AccelVec3 *mount_matrix;
26 AccelLocation location;
2527
2628 double scale;
2729 } DrvData;
116118 ReadingsUpdateFunc callback_func,
117119 gpointer user_data)
118120 {
119 const char *mount_matrix;
121 iio_fixup_sampling_frequency (device);
120122
121123 drv_data = g_new0 (DrvData, 1);
122124 drv_data->dev = g_object_ref (device);
123125 drv_data->name = g_udev_device_get_sysfs_attr (device, "name");
124
125 mount_matrix = g_udev_device_get_property (device, "ACCEL_MOUNT_MATRIX");
126 if (!parse_mount_matrix (mount_matrix, &drv_data->mount_matrix)) {
127 g_warning ("Invalid mount-matrix ('%s'), falling back to identity",
128 mount_matrix);
129 parse_mount_matrix (NULL, &drv_data->mount_matrix);
130 }
131
126 drv_data->mount_matrix = setup_mount_matrix (device);
127 drv_data->location = setup_accel_location (device);
132128 drv_data->callback_func = callback_func;
133129 drv_data->user_data = user_data;
134130 drv_data->scale = g_udev_device_get_sysfs_attr_as_double (device, "in_accel_scale");
66 */
77
88 #include "drivers.h"
9 #include "iio-buffer-utils.h"
910
1011 #include <fcntl.h>
1112 #include <unistd.h>
3738 }
3839
3940 static gboolean
40 light_changed (void)
41 light_changed (gpointer user_data)
4142 {
4243 LightReadings readings;
4344 gdouble level;
113114 ReadingsUpdateFunc callback_func,
114115 gpointer user_data)
115116 {
117 iio_fixup_sampling_frequency (device);
118
116119 drv_data = g_new0 (DrvData, 1);
117120 drv_data->callback_func = callback_func;
118121 drv_data->user_data = user_data;
2626 const char *dev_path;
2727 const char *name;
2828 AccelVec3 *mount_matrix;
29 AccelLocation location;
2930 gboolean sends_kevent;
3031 } DrvData;
3132
191192 gpointer user_data)
192193 {
193194 const gchar * const subsystems[] = { "input", NULL };
194 const char *mount_matrix;
195195
196196 drv_data = g_new0 (DrvData, 1);
197197 drv_data->dev = g_object_ref (device);
201201 if (!drv_data->name)
202202 drv_data->name = g_udev_device_get_property (device, "ID_MODEL");
203203 drv_data->client = g_udev_client_new (subsystems);
204
205 mount_matrix = g_udev_device_get_property (device, "ACCEL_MOUNT_MATRIX");
206 if (!parse_mount_matrix (mount_matrix, &drv_data->mount_matrix)) {
207 g_warning ("Invalid mount-matrix ('%s'), falling back to identity",
208 mount_matrix);
209 parse_mount_matrix (NULL, &drv_data->mount_matrix);
210 }
211
204 drv_data->mount_matrix = setup_mount_matrix (device);
205 drv_data->location = setup_accel_location (device);
212206 drv_data->callback_func = callback_func;
213207 drv_data->user_data = user_data;
214208
254248 g_clear_object (&drv_data->dev);
255249 g_clear_object (&drv_data->parent);
256250 g_clear_pointer (&drv_data->mount_matrix, g_free);
257 g_clear_pointer (&drv_data->dev_path, g_free);
258251
259252 g_clear_pointer (&drv_data, g_free);
260253 }
130130 memset (&dev, 0, sizeof(dev));
131131 snprintf (dev.name, sizeof (dev.name), "%s", "iio-sensor-proxy test application");
132132 dev.id.bustype = BUS_VIRTUAL;
133 dev.id.vendor = 0x01; //FIXME
134 dev.id.product = 0x02;
133 dev.id.vendor = 0x00;
134 dev.id.product = 0x00;
135135
136136 /* 1G accel is reported as ~256, so clamp to 2G */
137137 dev.absmin[ABS_X] = dev.absmin[ABS_Y] = dev.absmin[ABS_Z] = -512;
1616 #include <errno.h>
1717 #include <stdio.h>
1818
19 #define IIO_MIN_SAMPLING_FREQUENCY 10 /* Hz */
20
1921 /**
2022 * iio_channel_info - information about a given channel
2123 * @name: channel name
22 * @scale: scale factor to be applied for conversion to si units
23 * @offset: offset to be applied for conversion to si units
24 * @generic_name: the generic name of the channel
25 * @scale: scale factor to be applied for conversion to SI units
26 * @offset: offset to be applied for conversion to SI units
2427 * @index: the channel index in the buffer output
25 * @bytes: number of bytes occupied in buffer output
28 * @is_signed: signed or unsigned
29 * @bits_used: number of valid bits of data
30 * @bytes: number of bytes occupied in buffer output (bits_used + padding)
31 * @shift: shift right by this before masking out bits_used
2632 * @mask: a bit mask for the raw output
27 * @is_signed: is the raw value stored signed
33 * @be: little or big endian
2834 * @enabled: is this channel enabled
35 * @location: data offset for this channel inside the buffer (in bytes)
2936 **/
3037 struct iio_channel_info {
3138 char *name;
3340 float scale;
3441 float offset;
3542 unsigned index;
43 unsigned is_signed;
44 unsigned bits_used;
3645 unsigned bytes;
37 unsigned bits_used;
3846 unsigned shift;
3947 guint64 mask;
4048 unsigned be;
41 unsigned is_signed;
4249 unsigned enabled;
4350 unsigned location;
4451 };
45
46 #define _IIO_GETU(__data, __idx, __size, __shift) \
47 (((guint##__size) (((const guint8 *) (__data))[__idx])) << (__shift))
48
49 #define _IIO_READ_UINT32_BE(data) (_IIO_GETU (data, 0, 32, 24) | \
50 _IIO_GETU (data, 1, 32, 16) | \
51 _IIO_GETU (data, 2, 32, 8) | \
52 _IIO_GETU (data, 3, 32, 0))
53
54 #define _IIO_READ_UINT32_LE(data) (_IIO_GETU (data, 3, 32, 24) | \
55 _IIO_GETU (data, 2, 32, 16) | \
56 _IIO_GETU (data, 1, 32, 8) | \
57 _IIO_GETU (data, 0, 32, 0))
58
59 static inline guint32
60 iio_readu32 (struct iio_channel_info *info, const guint8 * data)
61 {
62 if (info->be)
63 return _IIO_READ_UINT32_BE (data + info->location);
64 return _IIO_READ_UINT32_LE(data + info->location);
65 }
66
67 #define _IIO_GET(__data, __idx, __size, __shift) \
68 (((guint##__size) (((const guint8 *) (__data))[__idx])) << (__shift))
69
70 #define _IIO_READ_INT32_BE(data) (_IIO_GET (data, 0, 32, 24) | \
71 _IIO_GET (data, 1, 32, 16) | \
72 _IIO_GET (data, 2, 32, 8) | \
73 _IIO_GET (data, 3, 32, 0))
74
75 #define _IIO_READ_INT32_LE(data) (_IIO_GET (data, 3, 32, 24) | \
76 _IIO_GET (data, 2, 32, 16) | \
77 _IIO_GET (data, 1, 32, 8) | \
78 _IIO_GET (data, 0, 32, 0))
79
80 static inline gint32
81 iio_read32 (struct iio_channel_info *info, const gint8 * data)
82 {
83 if (info->be)
84 return _IIO_READ_INT32_BE (data + info->location);
85 return _IIO_READ_INT32_LE(data + info->location);
86 }
8752
8853 static char *
8954 iioutils_break_up_name (const char *name)
11378 * @be: big endian
11479 * @device_dir: the iio device directory
11580 * @name: the channel name
81 *
82 * See `struct iio_chan_spec` in the kernel headers.
11683 **/
11784 static gboolean
11885 iioutils_get_type (unsigned *is_signed,
149116 }
150117 }
151118
119 /* See `iio_show_fixed_type()` in the IIO core for the format */
152120 ret = fscanf (sysfsfp,
153121 "%ce:%c%u/%u>>%u",
154122 &endianchar,
167135 *be = (endianchar == 'b');
168136 *bytes = padint / 8;
169137 if (*bits_used == 64)
170 *mask = ~0;
138 *mask = ~G_GUINT64_CONSTANT(0);
171139 else
172 *mask = (1 << *bits_used) - 1;
173 if (signchar == 's')
174 *is_signed = 1;
175 else
176 *is_signed = 0;
140 *mask = (G_GUINT64_CONSTANT(1) << *bits_used) - G_GUINT64_CONSTANT(1);
141 *is_signed = (signchar == 's');
177142
178143 g_debug ("Got type for %s: is signed: %d, bytes: %d, bits_used: %d, shift: %d, mask: 0x%" G_GUINT64_FORMAT ", be: %d",
179144 name, *is_signed, *bytes, *bits_used, *shift, *mask, *be);
194159 char *builtname, *filename;
195160 int ret = 0;
196161
162 g_debug ("Trying to read '%s_%s' (name) from dir '%s'", name, param_name, device_dir);
163
197164 builtname = g_strdup_printf ("%s_%s", name, param_name);
198165 filename = g_build_filename (device_dir, builtname, NULL);
199166 g_free (builtname);
206173 return 0;
207174 }
208175
176 ret = -errno;
177 g_debug ("Failed to read float from %s: %s", filename, g_strerror (-ret));
209178 g_free (filename);
179
180 g_debug ("Trying to read '%s_%s' (generic name) from dir '%s'", generic_name, param_name, device_dir);
210181
211182 builtname = g_strdup_printf ("%s_%s", generic_name, param_name);
212183 filename = g_build_filename (device_dir, builtname, NULL);
214185
215186 sysfsfp = fopen (filename, "r");
216187 if (sysfsfp) {
217 fscanf (sysfsfp, "%f", output);
188 if (fscanf (sysfsfp, "%f", output) != 1) {
189 g_debug ("Failed to read float from %s", filename);
190 ret = -EINVAL;
191 }
218192 fclose (sysfsfp);
219193 } else {
220194 ret = -errno;
221195 if (ret != -ENOENT)
222196 g_warning ("Failed to read float from %s: %s", filename, g_strerror (-ret));
197 else
198 g_debug ("Failed to read float from %s: %s", filename, g_strerror (-ret));
223199 }
224200
225201 g_free (filename);
307283 g_free (index_name);
308284
309285 sysfsfp = fopen (filename, "r");
286 if (sysfsfp == NULL) {
287 ret = -errno;
288 goto error;
289 }
310290 fscanf (sysfsfp, "%u", &current->index);
311291 fclose (sysfsfp);
312292 g_free (filename);
505485 return bytes;
506486 }
507487
488 #define GUINT8_FROM_BE(x) (x)
489 #define GUINT8_FROM_LE(x) (x)
490 #define PROCESS_CHANNEL_BITS(bits) \
491 { \
492 guint##bits input; \
493 \
494 input = *(guint##bits *)(data + info->location); \
495 input = info->be ? GUINT##bits##_FROM_BE (input) : GUINT##bits##_FROM_LE (input);\
496 input >>= info->shift; \
497 input &= info->mask; \
498 if (info->is_signed) { \
499 gint##bits val = (gint##bits)(input << (bits - info->bits_used)) >> (bits - info->bits_used); \
500 val += info->offset; \
501 *ch_val = val; \
502 } else { \
503 *ch_val = input + info->offset; \
504 } \
505 }
506
508507 /**
509508 * process_scan_1() - get an integer value for a particular channel
510509 * @data: pointer to the start of the scan
516515 **/
517516 void
518517 process_scan_1 (char *data,
519 BufferDrvData *buffer_data,
518 BufferDrvData *buffer_data,
520519 const char *ch_name,
521520 int *ch_val,
522521 gdouble *ch_scale,
523522 gboolean *ch_present)
524523 {
525524 int k;
525
526 *ch_present = FALSE;
527
526528 for (k = 0; k < buffer_data->channels_count; k++) {
527 if (strcmp (buffer_data->channels[k]->name, ch_name) != 0)
529 struct iio_channel_info *info = buffer_data->channels[k];
530
531 if (strcmp (info->name, ch_name) != 0)
528532 continue;
529533
530 g_debug ("process_scan_1: channel_index: %d, chan_name: %s, channel_data_index: %d location: %d",
531 k, buffer_data->channels[k]->name, buffer_data->channels[k]->index, buffer_data->channels[k]->location);
532
533 switch (buffer_data->channels[k]->bytes) {
534 /* only a few cases implemented so far */
535 case 4:
536 if (!buffer_data->channels[k]->is_signed) {
537 guint32 val = iio_readu32(buffer_data->channels[k], (guint8 *) data);
538 val = val >> buffer_data->channels[k]->shift;
539 if (buffer_data->channels[k]->bits_used < 32)
540 val &= ((guint32) 1 << buffer_data->channels[k]->bits_used) - 1;
541 *ch_val = (int) val;
542 *ch_present = TRUE;
543 } else {
544 gint32 val = iio_read32(buffer_data->channels[k], (gint8 *) data);
545 val = val >> buffer_data->channels[k]->shift;
546 if (buffer_data->channels[k]->bits_used < 32)
547 val &= ((guint32) 1 << buffer_data->channels[k]->bits_used) - 1;
548 val = (gint32) (val << (32 - buffer_data->channels[k]->bits_used)) >> (32 - buffer_data->channels[k]->bits_used);
549 *ch_val = (int) val;
550 if (buffer_data->channels[k]->scale)
551 *ch_scale = buffer_data->channels[k]->scale;
552 else
553 *ch_scale = 1.0;
554 *ch_present = TRUE;
555 }
534 g_debug ("process_scan_1: channel_index: %d, chan_name: %s, channel_data_index: %d location: %d bytes: %d is_signed: %d be: %d shift: %d bits_used: %d",
535 k, info->name, info->index, info->location,
536 info->bytes, info->is_signed, info->be,
537 info->shift, info->bits_used);
538
539 switch (info->bytes) {
540 case 1:
541 #pragma GCC diagnostic push
542 #pragma GCC diagnostic ignored "-Wduplicated-branches"
543 PROCESS_CHANNEL_BITS(8);
544 #pragma GCC diagnostic pop
556545 break;
557546 case 2:
547 PROCESS_CHANNEL_BITS(16);
548 break;
549 case 4:
550 PROCESS_CHANNEL_BITS(32);
551 break;
558552 case 8:
559 g_error ("Process %d bytes channels not supported yet", buffer_data->channels[k]->bytes);
553 PROCESS_CHANNEL_BITS(64);
554 break;
560555 default:
561 g_assert_not_reached ();
556 g_error ("Process %d bytes channels not supported", info->bytes);
562557 break;
563558 }
559
560 *ch_scale = info->scale;
561 *ch_present = TRUE;
562 break;
564563 }
565564
566565 if (!*ch_present)
567566 g_warning ("IIO channel '%s' could not be found", ch_name);
567 }
568
569 /**
570 * iio_fixup_sampling_frequency: Fixup devices *sampling_frequency attributes
571 * @dev: the IIO device to fix the sampling frequencies for
572 *
573 * Make sure devices with *sampling_frequency attributes are sampling at
574 * 10Hz or more. This fixes 2 problems:
575 * 1) Some buffered devices default their sampling_frequency to 0Hz and then
576 * never produce any readings.
577 * 2) Some polled devices default to 1Hz and wait for a fresh sample before
578 * returning from sysfs *_raw reads, blocking all of iio-sensor-proxy for
579 * multiple seconds
580 **/
581 gboolean
582 iio_fixup_sampling_frequency (GUdevDevice *dev)
583 {
584 GDir *dir;
585 const char *device_dir;
586 const char *name;
587 GError *error = NULL;
588 double sample_freq;
589
590 device_dir = g_udev_device_get_sysfs_path (dev);
591 dir = g_dir_open (g_udev_device_get_sysfs_path (dev), 0, &error);
592 if (!dir) {
593 g_warning ("Failed to open directory '%s': %s", device_dir, error->message);
594 g_error_free (error);
595 return FALSE;
596 }
597
598 while ((name = g_dir_read_name (dir))) {
599 if (g_str_has_suffix (name, "sampling_frequency") == FALSE)
600 continue;
601
602 sample_freq = g_udev_device_get_sysfs_attr_as_double (dev, name);
603 if (sample_freq >= IIO_MIN_SAMPLING_FREQUENCY)
604 continue; /* Continue with pre-set sample freq. */
605
606 /* Sample freq too low, set it to 10Hz */
607 if (write_sysfs_int (name, device_dir, IIO_MIN_SAMPLING_FREQUENCY) < 0)
608 g_warning ("Could not fix sample-freq for %s/%s", device_dir, name);
609 }
610 g_dir_close (dir);
611 return TRUE;
568612 }
569613
570614 /**
718762 buffer_data->trigger_name = g_strdup (trigger_name);
719763 buffer_data->device = g_object_ref (device);
720764
721 if (!enable_sensors (device, 1) ||
765 if (!iio_fixup_sampling_frequency (device) ||
766 !enable_sensors (device, 1) ||
722767 !enable_trigger (buffer_data) ||
723768 !enable_ring_buffer (buffer_data) ||
724769 !build_channels (buffer_data)) {
3434 int *ch_val,
3535 gdouble *ch_scale,
3636 gboolean *ch_present);
37 gboolean iio_fixup_sampling_frequency (GUdevDevice *dev);
3738
3839 void buffer_drv_data_free (BufferDrvData *buffer_data);
3940 BufferDrvData *buffer_drv_data_new (GUdevDevice *device,
55 # define SECTION
66 #endif
77
8 static const SECTION union { const guint8 data[6388]; const double alignment; void * const ptr;} iio_sensor_proxy_resource_data = { {
9 0x47, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74,
10 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
11 0x18, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00,
12 0x00, 0x00, 0x00, 0x28, 0x05, 0x00, 0x00, 0x00,
13 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
14 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
15 0x05, 0x00, 0x00, 0x00, 0xd2, 0xd4, 0x61, 0x4c,
16 0x03, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00,
17 0x1a, 0x00, 0x76, 0x00, 0xc8, 0x00, 0x00, 0x00,
18 0xc8, 0x18, 0x00, 0x00, 0xd4, 0xb5, 0x02, 0x00,
19 0xff, 0xff, 0xff, 0xff, 0xc8, 0x18, 0x00, 0x00,
20 0x01, 0x00, 0x4c, 0x00, 0xcc, 0x18, 0x00, 0x00,
21 0xd0, 0x18, 0x00, 0x00, 0x4a, 0x8e, 0x8f, 0x0b,
22 0x01, 0x00, 0x00, 0x00, 0xd0, 0x18, 0x00, 0x00,
23 0x04, 0x00, 0x4c, 0x00, 0xd4, 0x18, 0x00, 0x00,
24 0xd8, 0x18, 0x00, 0x00, 0x1c, 0xa5, 0xa0, 0xa0,
25 0x04, 0x00, 0x00, 0x00, 0xd8, 0x18, 0x00, 0x00,
26 0x0c, 0x00, 0x4c, 0x00, 0xe4, 0x18, 0x00, 0x00,
27 0xe8, 0x18, 0x00, 0x00, 0x51, 0x57, 0x03, 0x93,
28 0x02, 0x00, 0x00, 0x00, 0xe8, 0x18, 0x00, 0x00,
29 0x07, 0x00, 0x4c, 0x00, 0xf0, 0x18, 0x00, 0x00,
30 0xf4, 0x18, 0x00, 0x00, 0x6e, 0x65, 0x74, 0x2e,
31 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53,
32 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f,
33 0x78, 0x79, 0x2e, 0x78, 0x6d, 0x6c, 0x00, 0x00,
34 0xf0, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65,
36 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31,
37 0x2e, 0x30, 0x22, 0x3f, 0x3e, 0x0a, 0x3c, 0x21,
38 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20,
39 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x50, 0x55, 0x42,
40 0x4c, 0x49, 0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f,
41 0x66, 0x72, 0x65, 0x65, 0x64, 0x65, 0x73, 0x6b,
42 0x74, 0x6f, 0x70, 0x2f, 0x2f, 0x44, 0x54, 0x44,
43 0x20, 0x44, 0x2d, 0x42, 0x55, 0x53, 0x20, 0x4f,
44 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x49, 0x6e,
45 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74,
46 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x2f,
47 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74,
48 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
49 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x65, 0x73,
50 0x6b, 0x74, 0x6f, 0x70, 0x2e, 0x6f, 0x72, 0x67,
51 0x2f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
52 0x64, 0x73, 0x2f, 0x64, 0x62, 0x75, 0x73, 0x2f,
53 0x31, 0x2e, 0x30, 0x2f, 0x69, 0x6e, 0x74, 0x72,
54 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x2e, 0x64,
55 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x3c, 0x6e, 0x6f,
56 0x64, 0x65, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x0a,
57 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65,
58 0x74, 0x2e, 0x68, 0x61, 0x64, 0x65, 0x73, 0x73,
59 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50,
60 0x72, 0x6f, 0x78, 0x79, 0x3a, 0x0a, 0x20, 0x20,
61 0x20, 0x20, 0x20, 0x20, 0x40, 0x73, 0x68, 0x6f,
62 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
63 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
64 0x44, 0x2d, 0x42, 0x75, 0x73, 0x20, 0x70, 0x72,
65 0x6f, 0x78, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61,
66 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x68, 0x61,
67 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x20, 0x73,
68 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x0a, 0x0a,
69 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x66,
70 0x74, 0x65, 0x72, 0x20, 0x63, 0x68, 0x65, 0x63,
71 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,
72 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
73 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66,
74 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6e,
75 0x73, 0x6f, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65,
76 0x20, 0x79, 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e,
77 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x6f, 0x6e,
78 0x69, 0x74, 0x6f, 0x72, 0x2c, 0x0a, 0x20, 0x20,
79 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x6c, 0x6c,
80 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x74,
81 0x2e, 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2e,
82 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72,
83 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6c, 0x61, 0x69,
84 0x6d, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72,
85 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29,
86 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x0a,
87 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65,
88 0x74, 0x2e, 0x68, 0x61, 0x64, 0x65, 0x73, 0x73,
89 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50,
90 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6c, 0x61,
91 0x69, 0x6d, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28,
92 0x29, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
93 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72,
94 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69,
95 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70,
96 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
97 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
98 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65,
99 0x20, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72,
100 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e,
101 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x20,
102 0x20, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6f,
103 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x70, 0x61,
104 0x74, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
105 0x62, 0x65, 0x20, 0x22, 0x2f, 0x6e, 0x65, 0x74,
106 0x2f, 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2f,
107 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72,
108 0x6f, 0x78, 0x79, 0x22, 0x2e, 0x0a, 0x20, 0x20,
109 0x2d, 0x2d, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65,
110 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x6e, 0x61,
111 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x65, 0x74, 0x2e,
112 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53,
113 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f,
114 0x78, 0x79, 0x22, 0x3e, 0x3c, 0x21, 0x2d, 0x2d,
115 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
116 0x20, 0x48, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65,
117 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x65,
118 0x72, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
119 0x20, 0x20, 0x20, 0x20, 0x57, 0x68, 0x65, 0x74,
120 0x68, 0x65, 0x72, 0x20, 0x61, 0x20, 0x73, 0x75,
121 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20,
122 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f,
123 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x69, 0x73,
124 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
125 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
126 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x0a,
127 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x3e, 0x3c,
128 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
129 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x48,
130 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65,
131 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22,
132 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62,
133 0x22, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
134 0x3d, 0x22, 0x72, 0x65, 0x61, 0x64, 0x22, 0x2f,
135 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x20, 0x20,
136 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x63,
137 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65,
138 0x74, 0x65, 0x72, 0x4f, 0x72, 0x69, 0x65, 0x6e,
139 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0a,
140 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
141 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x74,
142 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x72,
143 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f,
144 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
145 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x20,
146 0x6f, 0x72, 0x20, 0x6c, 0x61, 0x70, 0x74, 0x6f,
147 0x70, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
148 0x20, 0x20, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69,
149 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75,
150 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a,
151 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
152 0x2d, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x69,
153 0x6e, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
154 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x6e, 0x6f,
155 0x72, 0x6d, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20,
156 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x62,
157 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x2d, 0x75, 0x70,
158 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
159 0x20, 0x2d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2d,
160 0x75, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
161 0x20, 0x20, 0x20, 0x2d, 0x20, 0x72, 0x69, 0x67,
162 0x68, 0x74, 0x2d, 0x75, 0x70, 0x0a, 0x20, 0x20,
163 0x20, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x70, 0x72,
164 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e,
165 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x41, 0x63, 0x63,
166 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65, 0x74,
167 0x65, 0x72, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74,
168 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x74,
169 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x22, 0x20,
170 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3d, 0x22,
171 0x72, 0x65, 0x61, 0x64, 0x22, 0x2f, 0x3e, 0x3c,
172 0x21, 0x2d, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20,
173 0x20, 0x20, 0x20, 0x20, 0x48, 0x61, 0x73, 0x41,
174 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69,
175 0x67, 0x68, 0x74, 0x3a, 0x0a, 0x0a, 0x20, 0x20,
176 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x68,
177 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x20,
178 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65,
179 0x64, 0x20, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e,
180 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x20,
181 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x69,
182 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e,
183 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65,
184 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e,
185 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x3e,
186 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
187 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
188 0x48, 0x61, 0x73, 0x41, 0x6d, 0x62, 0x69, 0x65,
189 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x22,
190 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62,
191 0x22, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
192 0x3d, 0x22, 0x72, 0x65, 0x61, 0x64, 0x22, 0x2f,
193 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x20, 0x20,
194 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x69,
195 0x67, 0x68, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
196 0x55, 0x6e, 0x69, 0x74, 0x3a, 0x0a, 0x0a, 0x20,
197 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
198 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x20,
199 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20,
200 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x20,
201 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x53, 0x65,
202 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x61,
203 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x20, 0x49,
204 0x74, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x20, 0x20,
205 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65,
206 0x20, 0x6f, 0x66, 0x20, 0x65, 0x69, 0x74, 0x68,
207 0x65, 0x72, 0x20, 0x22, 0x6c, 0x75, 0x78, 0x22,
208 0x20, 0x6f, 0x72, 0x20, 0x22, 0x76, 0x65, 0x6e,
209 0x64, 0x6f, 0x72, 0x22, 0x2e, 0x0a, 0x0a, 0x20,
210 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e,
211 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74,
212 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,
213 0x6e, 0x74, 0x20, 0x68, 0x61, 0x72, 0x64, 0x77,
214 0x61, 0x72, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c,
215 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, 0x69,
216 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20,
217 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73,
218 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a,
219 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
220 0x73, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6f, 0x6e,
221 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20,
222 0x73, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
223 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,
224 0x20, 0x62, 0x65, 0x20, 0x74, 0x61, 0x6b, 0x65,
225 0x6e, 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6c,
226 0x61, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x0a, 0x0a,
227 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
228 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65,
229 0x20, 0x75, 0x6e, 0x69, 0x74, 0x20, 0x69, 0x73,
230 0x20, 0x22, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72,
231 0x22, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69,
232 0x6e, 0x67, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c,
233 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x70, 0x65,
234 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65,
235 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x31, 0x30,
236 0x30, 0x25, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67,
237 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x20, 0x20,
238 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78,
239 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x72, 0x65, 0x61,
240 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x20,
241 0x20, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x70, 0x72,
242 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e,
243 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4c, 0x69, 0x67,
244 0x68, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55,
245 0x6e, 0x69, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70,
246 0x65, 0x3d, 0x22, 0x73, 0x22, 0x20, 0x61, 0x63,
247 0x63, 0x65, 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65,
248 0x61, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x21, 0x2d,
249 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
250 0x20, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x4c,
251 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x0a, 0x0a, 0x20,
252 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
253 0x68, 0x65, 0x20, 0x61, 0x6d, 0x62, 0x69, 0x65,
254 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74,
255 0x20, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x20,
256 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x2c,
257 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
258 0x75, 0x6e, 0x69, 0x74, 0x20, 0x65, 0x78, 0x70,
259 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e,
260 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x20, 0x20,
261 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x4c, 0x69,
262 0x67, 0x68, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
263 0x55, 0x6e, 0x69, 0x74, 0x22, 0x20, 0x70, 0x72,
264 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x0a,
265 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x3e, 0x3c,
266 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
267 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4c,
268 0x69, 0x67, 0x68, 0x74, 0x4c, 0x65, 0x76, 0x65,
269 0x6c, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
270 0x22, 0x64, 0x22, 0x20, 0x61, 0x63, 0x63, 0x65,
271 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65, 0x61, 0x64,
272 0x22, 0x2f, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x0a,
273 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43,
274 0x6c, 0x61, 0x69, 0x6d, 0x41, 0x63, 0x63, 0x65,
275 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x65,
276 0x72, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
277 0x20, 0x20, 0x20, 0x54, 0x6f, 0x20, 0x73, 0x74,
278 0x61, 0x72, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65,
279 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63,
280 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65,
281 0x74, 0x65, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64,
282 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x64, 0x61,
283 0x74, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d,
284 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f,
285 0x78, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20,
286 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
287 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20,
288 0x20, 0x20, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
289 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65,
290 0x20, 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61, 0x64,
291 0x65, 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x73,
292 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e,
293 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x41, 0x63, 0x63,
294 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65, 0x74,
295 0x65, 0x72, 0x28, 0x29, 0x20, 0x6d, 0x65, 0x74,
296 0x68, 0x6f, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20,
297 0x63, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x20, 0x73,
298 0x6f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
299 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72,
300 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x65,
301 0x6c, 0x65, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x65,
302 0x72, 0x20, 0x69, 0x73, 0x20, 0x61, 0x76, 0x61,
303 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f,
304 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x2c, 0x20, 0x75,
305 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x77,
306 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x65,
307 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x6e,
308 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x61,
309 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
310 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72,
311 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x61,
312 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x2e, 0x0a,
313 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
314 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
315 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73, 0x68, 0x6f,
316 0x75, 0x6c, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x6c,
317 0x20, 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61, 0x64,
318 0x65, 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x73,
319 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e,
320 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41,
321 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d,
322 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x20, 0x77,
323 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20,
324 0x20, 0x20, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69,
325 0x6e, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20,
326 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75,
327 0x69, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x79,
328 0x6d, 0x6f, 0x72, 0x65, 0x2e, 0x20, 0x46, 0x6f,
329 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
330 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70,
331 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
332 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d,
333 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x0a,
334 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74,
335 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x65, 0x6e,
336 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,
337 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61,
338 0x69, 0x6e, 0x20, 0x73, 0x63, 0x72, 0x65, 0x65,
339 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,
340 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x6d, 0x6f,
341 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67,
342 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64,
343 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65,
344 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20,
345 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63,
346 0x72, 0x65, 0x65, 0x6e, 0x20, 0x68, 0x61, 0x73,
347 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x75,
348 0x72, 0x6e, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x66,
349 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
350 0x20, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70,
351 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20,
352 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x73,
353 0x6f, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79,
354 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x70, 0x6f,
355 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,
356 0x65, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
357 0x2c, 0x20, 0x74, 0x68, 0x75, 0x73, 0x20, 0x69,
358 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e,
359 0x67, 0x20, 0x77, 0x61, 0x6b, 0x65, 0x2d, 0x75,
360 0x70, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
361 0x20, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65,
362 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x62,
363 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x20, 0x6c,
364 0x69, 0x66, 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x20,
365 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x6d, 0x65, 0x74,
366 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65,
367 0x3d, 0x22, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x41,
368 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d,
369 0x65, 0x74, 0x65, 0x72, 0x22, 0x2f, 0x3e, 0x3c,
370 0x21, 0x2d, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20,
371 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x65,
372 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x65, 0x6c,
373 0x65, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72,
374 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
375 0x20, 0x20, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20,
376 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62,
377 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64,
378 0x20, 0x61, 0x73, 0x20, 0x73, 0x6f, 0x6f, 0x6e,
379 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x61, 0x64,
380 0x69, 0x6e, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65,
381 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65, 0x71,
382 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e,
383 0x79, 0x6d, 0x6f, 0x72, 0x65, 0x2e, 0x20, 0x4e,
384 0x6f, 0x74, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
385 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x61, 0x74,
386 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
387 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x66,
388 0x72, 0x65, 0x65, 0x64, 0x20, 0x75, 0x70, 0x20,
389 0x69, 0x66, 0x20, 0x61, 0x20, 0x6d, 0x6f, 0x6e,
390 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x20,
391 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
392 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x74,
393 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75,
394 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
395 0x20, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e,
396 0x67, 0x20, 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61,
397 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e,
398 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79,
399 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
400 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f,
401 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x2c,
402 0x20, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73,
403 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20,
404 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x64,
405 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72,
406 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d,
407 0x2d, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f,
408 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
409 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41,
410 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x6f, 0x6d,
411 0x65, 0x74, 0x65, 0x72, 0x22, 0x2f, 0x3e, 0x3c,
412 0x21, 0x2d, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20,
413 0x20, 0x20, 0x20, 0x43, 0x6c, 0x61, 0x69, 0x6d,
414 0x4c, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x0a, 0x0a,
415 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
416 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20,
417 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e,
418 0x67, 0x20, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e,
419 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x20,
420 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x72,
421 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x75,
422 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66,
423 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20,
424 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x20, 0x74,
425 0x68, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
426 0x20, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
427 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x75,
428 0x73, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20,
429 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x2e,
430 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53,
431 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f,
432 0x78, 0x79, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d,
433 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28, 0x29, 0x20,
434 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x20,
435 0x49, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x64,
436 0x6f, 0x20, 0x73, 0x6f, 0x0a, 0x20, 0x20, 0x20,
437 0x20, 0x20, 0x20, 0x20, 0x77, 0x68, 0x65, 0x74,
438 0x68, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61,
439 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6c,
440 0x69, 0x67, 0x68, 0x74, 0x20, 0x73, 0x65, 0x6e,
441 0x73, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x61,
442 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
443 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x2c,
444 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73,
445 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x74,
446 0x68, 0x65, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73,
447 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20,
448 0x20, 0x20, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
449 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x20, 0x73,
450 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x61, 0x70,
451 0x70, 0x65, 0x61, 0x72, 0x73, 0x2e, 0x0a, 0x0a,
452 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41,
453 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
454 0x6f, 0x6e, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75,
455 0x6c, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20,
456 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61, 0x64, 0x65,
457 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x6f,
458 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x52,
459 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4c, 0x69,
460 0x67, 0x68, 0x74, 0x28, 0x29, 0x20, 0x77, 0x68,
461 0x65, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69,
462 0x6e, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x0a,
463 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e,
464 0x6f, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
465 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x79, 0x6d,
466 0x6f, 0x72, 0x65, 0x2e, 0x20, 0x46, 0x6f, 0x72,
467 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,
468 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70,
469 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
470 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x6f,
471 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x20, 0x74,
472 0x68, 0x65, 0x20, 0x61, 0x6d, 0x62, 0x69, 0x65,
473 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74,
474 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
475 0x74, 0x6f, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67,
476 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63,
477 0x72, 0x65, 0x65, 0x6e, 0x20, 0x62, 0x72, 0x69,
478 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x20,
479 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x73,
480 0x74, 0x6f, 0x70, 0x20, 0x6d, 0x6f, 0x6e, 0x69,
481 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x66,
482 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74,
483 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
484 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x63, 0x72,
485 0x65, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20,
486 0x20, 0x20, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62,
487 0x65, 0x65, 0x6e, 0x20, 0x74, 0x75, 0x72, 0x6e,
488 0x65, 0x64, 0x20, 0x6f, 0x66, 0x66, 0x2e, 0x0a,
489 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
490 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x65,
491 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68,
492 0x65, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72,
493 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x66,
494 0x72, 0x6f, 0x6d, 0x20, 0x70, 0x6f, 0x6c, 0x6c,
495 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20,
496 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x20,
497 0x74, 0x68, 0x75, 0x73, 0x20, 0x69, 0x6e, 0x63,
498 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20,
499 0x77, 0x61, 0x6b, 0x65, 0x2d, 0x75, 0x70, 0x73,
500 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
501 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x64, 0x75,
502 0x63, 0x69, 0x6e, 0x67, 0x20, 0x62, 0x61, 0x74,
503 0x74, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x66,
504 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d,
505 0x2d, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f,
506 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
507 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4c, 0x69, 0x67,
508 0x68, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x21, 0x2d,
509 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
510 0x20, 0x20, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73,
511 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x0a,
512 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
513 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x68,
514 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20,
515 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x61,
516 0x73, 0x20, 0x73, 0x6f, 0x6f, 0x6e, 0x20, 0x61,
517 0x73, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e,
518 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,
519 0x6f, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
520 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x79, 0x6d,
521 0x6f, 0x72, 0x65, 0x2e, 0x20, 0x4e, 0x6f, 0x74,
522 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
523 0x20, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x72,
524 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
525 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x72, 0x65,
526 0x65, 0x64, 0x20, 0x75, 0x70, 0x20, 0x69, 0x66,
527 0x20, 0x61, 0x20, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
528 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x70,
529 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
530 0x6e, 0x20, 0x65, 0x78, 0x69, 0x74, 0x73, 0x20,
531 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x0a,
532 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
533 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20,
534 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61, 0x64, 0x65,
535 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x6f,
536 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x52,
537 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4c, 0x69,
538 0x67, 0x68, 0x74, 0x28, 0x29, 0x2c, 0x20, 0x63,
539 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x20, 0x6f,
540 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65,
541 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x64, 0x69, 0x73,
542 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x2e,
543 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x3e,
544 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20,
545 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x52, 0x65,
546 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x67,
547 0x68, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x69,
548 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
549 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x20, 0x20,
550 0x20, 0x20, 0x20, 0x20, 0x6e, 0x65, 0x74, 0x2e,
551 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53,
552 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f,
553 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61,
554 0x73, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20,
555 0x20, 0x20, 0x40, 0x73, 0x68, 0x6f, 0x72, 0x74,
556 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
557 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x44, 0x2d,
558 0x42, 0x75, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x78,
559 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63,
560 0x65, 0x73, 0x73, 0x20, 0x43, 0x6f, 0x6d, 0x70,
561 0x61, 0x73, 0x73, 0x20, 0x73, 0x65, 0x6e, 0x73,
562 0x6f, 0x72, 0x73, 0x0a, 0x0a, 0x20, 0x20, 0x20,
563 0x20, 0x20, 0x20, 0x41, 0x66, 0x74, 0x65, 0x72,
564 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e,
565 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x76,
566 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69,
567 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
568 0x65, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72,
569 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x79, 0x6f,
570 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74,
571 0x6f, 0x20, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
572 0x72, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
573 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68,
574 0x65, 0x20, 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61,
575 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e,
576 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79,
577 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x6f,
578 0x6d, 0x70, 0x61, 0x73, 0x73, 0x28, 0x29, 0x20,
579 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x74,
580 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20,
581 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67,
582 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74,
583 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65,
584 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x66, 0x72,
585 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68,
586 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x20,
587 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73,
588 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
589 0x20, 0x54, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a,
590 0x65, 0x63, 0x74, 0x20, 0x70, 0x61, 0x74, 0x68,
591 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65,
592 0x20, 0x22, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x68,
593 0x61, 0x64, 0x65, 0x73, 0x73, 0x2f, 0x53, 0x65,
594 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78,
595 0x79, 0x2f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73,
596 0x73, 0x22, 0x2e, 0x0a, 0x20, 0x20, 0x2d, 0x2d,
597 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
598 0x61, 0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65,
599 0x3d, 0x22, 0x6e, 0x65, 0x74, 0x2e, 0x68, 0x61,
600 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53, 0x65, 0x6e,
601 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79,
602 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73,
603 0x22, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x20,
604 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48,
605 0x61, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73,
606 0x73, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
607 0x20, 0x20, 0x20, 0x20, 0x57, 0x68, 0x65, 0x74,
608 0x68, 0x65, 0x72, 0x20, 0x61, 0x20, 0x73, 0x75,
609 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20,
610 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x20,
611 0x69, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65,
612 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68,
613 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
614 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d,
615 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
616 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
617 0x22, 0x48, 0x61, 0x73, 0x43, 0x6f, 0x6d, 0x70,
618 0x61, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70,
619 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x61, 0x63,
620 0x63, 0x65, 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65,
621 0x61, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x21, 0x2d,
622 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
623 0x20, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73,
624 0x73, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,
625 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
626 0x20, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63,
627 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x68,
628 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69,
629 0x6e, 0x20, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65,
630 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72,
631 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x74,
632 0x6f, 0x20, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74,
633 0x69, 0x63, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68,
634 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
635 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x6e, 0x0a, 0x20,
636 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
637 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65,
638 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x20,
639 0x54, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x65, 0x61,
640 0x6e, 0x73, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68,
641 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x73,
642 0x20, 0x30, 0x20, 0x64, 0x65, 0x67, 0x72, 0x65,
643 0x65, 0x2c, 0x20, 0x45, 0x61, 0x73, 0x74, 0x3a,
644 0x20, 0x39, 0x30, 0x20, 0x64, 0x65, 0x67, 0x72,
645 0x65, 0x65, 0x73, 0x2c, 0x0a, 0x20, 0x20, 0x20,
646 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6f, 0x75,
647 0x74, 0x68, 0x3a, 0x20, 0x31, 0x38, 0x30, 0x20,
648 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x2c,
649 0x20, 0x57, 0x65, 0x73, 0x74, 0x3a, 0x20, 0x32,
650 0x37, 0x30, 0x20, 0x64, 0x65, 0x67, 0x72, 0x65,
651 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73,
652 0x6f, 0x20, 0x6f, 0x6e, 0x2e, 0x20, 0x57, 0x68,
653 0x65, 0x6e, 0x20, 0x75, 0x6e, 0x6b, 0x6e, 0x6f,
654 0x77, 0x6e, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
655 0x20, 0x20, 0x20, 0x20, 0x69, 0x74, 0x27, 0x73,
656 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20,
657 0x2d, 0x31, 0x2e, 0x30, 0x2e, 0x0a, 0x20, 0x20,
658 0x20, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x70, 0x72,
659 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e,
660 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x43, 0x6f, 0x6d,
661 0x70, 0x61, 0x73, 0x73, 0x48, 0x65, 0x61, 0x64,
662 0x69, 0x6e, 0x67, 0x22, 0x20, 0x74, 0x79, 0x70,
663 0x65, 0x3d, 0x22, 0x64, 0x22, 0x20, 0x61, 0x63,
664 0x63, 0x65, 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65,
665 0x61, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x21, 0x2d,
666 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
667 0x20, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x6f,
668 0x6d, 0x70, 0x61, 0x73, 0x73, 0x3a, 0x0a, 0x0a,
669 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
670 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20,
671 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e,
672 0x67, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73,
673 0x73, 0x20, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e,
674 0x67, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
675 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74,
676 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79,
677 0x2c, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x20,
678 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x70, 0x70,
679 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
680 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x63, 0x61,
681 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e,
682 0x65, 0x74, 0x2e, 0x68, 0x61, 0x64, 0x65, 0x73,
683 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72,
684 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6c,
685 0x61, 0x69, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x61,
686 0x73, 0x73, 0x28, 0x29, 0x20, 0x6d, 0x65, 0x74,
687 0x68, 0x6f, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20,
688 0x63, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x20, 0x73,
689 0x6f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
690 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72,
691 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61,
692 0x73, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x76,
693 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20,
694 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x2c, 0x20,
695 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20,
696 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x74, 0x68,
697 0x65, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65,
698 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
699 0x20, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73,
700 0x75, 0x63, 0x68, 0x20, 0x61, 0x20, 0x73, 0x65,
701 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x61, 0x70, 0x70,
702 0x65, 0x61, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x20,
703 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x70,
704 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
705 0x6e, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c,
706 0x64, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x6e,
707 0x65, 0x74, 0x2e, 0x68, 0x61, 0x64, 0x65, 0x73,
708 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72,
709 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x52, 0x65,
710 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d,
711 0x70, 0x61, 0x73, 0x73, 0x28, 0x29, 0x20, 0x77,
712 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64,
713 0x69, 0x6e, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65,
714 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
715 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75,
716 0x69, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x79,
717 0x6d, 0x6f, 0x72, 0x65, 0x2e, 0x20, 0x54, 0x68,
718 0x69, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, 0x65,
719 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
720 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x20, 0x70,
721 0x72, 0x6f, 0x78, 0x79, 0x20, 0x66, 0x72, 0x6f,
722 0x6d, 0x20, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x6e,
723 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65,
724 0x76, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68,
725 0x75, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
726 0x20, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61,
727 0x73, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x61, 0x6b,
728 0x65, 0x2d, 0x75, 0x70, 0x73, 0x20, 0x61, 0x6e,
729 0x64, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, 0x69,
730 0x6e, 0x67, 0x20, 0x62, 0x61, 0x74, 0x74, 0x65,
731 0x72, 0x79, 0x20, 0x6c, 0x69, 0x66, 0x65, 0x2e,
732 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
733 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68,
734 0x61, 0x74, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61,
735 0x73, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72,
736 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69,
737 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61,
738 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
739 0x20, 0x74, 0x6f, 0x20, 0x47, 0x65, 0x6f, 0x63,
740 0x6c, 0x75, 0x65, 0x20, 0x62, 0x79, 0x20, 0x64,
741 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20,
742 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x69,
743 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
744 0x20, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20,
745 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x67, 0x6e,
746 0x65, 0x74, 0x69, 0x63, 0x20, 0x68, 0x65, 0x61,
747 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x66,
748 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
749 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x72,
750 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x20,
751 0x69, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x54, 0x72,
752 0x75, 0x65, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68,
753 0x20, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,
754 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d,
755 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
756 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x43,
757 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x6f, 0x6d, 0x70,
758 0x61, 0x73, 0x73, 0x22, 0x2f, 0x3e, 0x3c, 0x21,
759 0x2d, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
760 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x65, 0x61,
761 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73,
762 0x73, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
763 0x20, 0x20, 0x20, 0x20, 0x54, 0x68, 0x69, 0x73,
764 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20,
765 0x62, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65,
766 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x6f, 0x6f,
767 0x6e, 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x61,
768 0x64, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x61, 0x72,
769 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65,
770 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x61,
771 0x6e, 0x79, 0x6d, 0x6f, 0x72, 0x65, 0x2e, 0x20,
772 0x4e, 0x6f, 0x74, 0x65, 0x0a, 0x20, 0x20, 0x20,
773 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x68, 0x61,
774 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
775 0x63, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20,
776 0x66, 0x72, 0x65, 0x65, 0x64, 0x20, 0x75, 0x70,
777 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x6d, 0x6f,
778 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67,
779 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
780 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x78, 0x69,
781 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f,
782 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
783 0x20, 0x20, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x69,
784 0x6e, 0x67, 0x20, 0x6e, 0x65, 0x74, 0x2e, 0x68,
785 0x61, 0x64, 0x65, 0x73, 0x73, 0x2e, 0x53, 0x65,
786 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78,
787 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73,
788 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73,
789 0x28, 0x29, 0x2c, 0x20, 0x63, 0x72, 0x61, 0x73,
790 0x68, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x74,
791 0x68, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x6f,
792 0x72, 0x20, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70,
793 0x65, 0x61, 0x72, 0x73, 0x2e, 0x0a, 0x20, 0x20,
794 0x20, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x6d, 0x65,
795 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d,
796 0x65, 0x3d, 0x22, 0x52, 0x65, 0x6c, 0x65, 0x61,
797 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73,
798 0x73, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x69, 0x6e,
799 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e,
800 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a,
801 0x00, 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29,
802 0x2f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
803 0x6e, 0x65, 0x74, 0x2f, 0x04, 0x00, 0x00, 0x00,
804 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x50, 0x72,
805 0x6f, 0x78, 0x79, 0x2f, 0x00, 0x00, 0x00, 0x00,
806 0x68, 0x61, 0x64, 0x65, 0x73, 0x73, 0x2f, 0x00,
807 0x03, 0x00, 0x00, 0x00
8 #ifdef _MSC_VER
9 static const SECTION union { const guint8 data[6389]; const double alignment; void * const ptr;} iio_sensor_proxy_resource_data = { {
10 0107, 0126, 0141, 0162, 0151, 0141, 0156, 0164, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
11 0030, 0000, 0000, 0000, 0254, 0000, 0000, 0000, 0000, 0000, 0000, 0050, 0005, 0000, 0000, 0000,
12 0000, 0000, 0000, 0000, 0003, 0000, 0000, 0000, 0003, 0000, 0000, 0000, 0003, 0000, 0000, 0000,
13 0005, 0000, 0000, 0000, 0324, 0265, 0002, 0000, 0377, 0377, 0377, 0377, 0254, 0000, 0000, 0000,
14 0001, 0000, 0114, 0000, 0260, 0000, 0000, 0000, 0264, 0000, 0000, 0000, 0112, 0216, 0217, 0013,
15 0000, 0000, 0000, 0000, 0264, 0000, 0000, 0000, 0004, 0000, 0114, 0000, 0270, 0000, 0000, 0000,
16 0274, 0000, 0000, 0000, 0322, 0324, 0141, 0114, 0004, 0000, 0000, 0000, 0274, 0000, 0000, 0000,
17 0032, 0000, 0166, 0000, 0330, 0000, 0000, 0000, 0330, 0030, 0000, 0000, 0121, 0127, 0003, 0223,
18 0001, 0000, 0000, 0000, 0330, 0030, 0000, 0000, 0007, 0000, 0114, 0000, 0340, 0030, 0000, 0000,
19 0344, 0030, 0000, 0000, 0034, 0245, 0240, 0240, 0003, 0000, 0000, 0000, 0344, 0030, 0000, 0000,
20 0014, 0000, 0114, 0000, 0360, 0030, 0000, 0000, 0364, 0030, 0000, 0000, 0057, 0000, 0000, 0000,
21 0001, 0000, 0000, 0000, 0156, 0145, 0164, 0057, 0003, 0000, 0000, 0000, 0156, 0145, 0164, 0056,
22 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157,
23 0170, 0171, 0056, 0170, 0155, 0154, 0000, 0000, 0360, 0027, 0000, 0000, 0000, 0000, 0000, 0000,
24 0074, 0077, 0170, 0155, 0154, 0040, 0166, 0145, 0162, 0163, 0151, 0157, 0156, 0075, 0042, 0061,
25 0056, 0060, 0042, 0077, 0076, 0012, 0074, 0041, 0104, 0117, 0103, 0124, 0131, 0120, 0105, 0040,
26 0156, 0157, 0144, 0145, 0040, 0120, 0125, 0102, 0114, 0111, 0103, 0040, 0042, 0055, 0057, 0057,
27 0146, 0162, 0145, 0145, 0144, 0145, 0163, 0153, 0164, 0157, 0160, 0057, 0057, 0104, 0124, 0104,
28 0040, 0104, 0055, 0102, 0125, 0123, 0040, 0117, 0142, 0152, 0145, 0143, 0164, 0040, 0111, 0156,
29 0164, 0162, 0157, 0163, 0160, 0145, 0143, 0164, 0151, 0157, 0156, 0040, 0061, 0056, 0060, 0057,
30 0057, 0105, 0116, 0042, 0040, 0042, 0150, 0164, 0164, 0160, 0072, 0057, 0057, 0167, 0167, 0167,
31 0056, 0146, 0162, 0145, 0145, 0144, 0145, 0163, 0153, 0164, 0157, 0160, 0056, 0157, 0162, 0147,
32 0057, 0163, 0164, 0141, 0156, 0144, 0141, 0162, 0144, 0163, 0057, 0144, 0142, 0165, 0163, 0057,
33 0061, 0056, 0060, 0057, 0151, 0156, 0164, 0162, 0157, 0163, 0160, 0145, 0143, 0164, 0056, 0144,
34 0164, 0144, 0042, 0076, 0012, 0074, 0156, 0157, 0144, 0145, 0076, 0074, 0041, 0055, 0055, 0012,
35 0040, 0040, 0040, 0040, 0040, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163,
36 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0072, 0012, 0040, 0040,
37 0040, 0040, 0040, 0040, 0100, 0163, 0150, 0157, 0162, 0164, 0137, 0144, 0145, 0163, 0143, 0162,
38 0151, 0160, 0164, 0151, 0157, 0156, 0072, 0040, 0104, 0055, 0102, 0165, 0163, 0040, 0160, 0162,
39 0157, 0170, 0171, 0040, 0164, 0157, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0040, 0150, 0141,
40 0162, 0144, 0167, 0141, 0162, 0145, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0163, 0012, 0012,
41 0040, 0040, 0040, 0040, 0040, 0040, 0101, 0146, 0164, 0145, 0162, 0040, 0143, 0150, 0145, 0143,
42 0153, 0151, 0156, 0147, 0040, 0164, 0150, 0145, 0040, 0141, 0166, 0141, 0151, 0154, 0141, 0142,
43 0151, 0154, 0151, 0164, 0171, 0040, 0157, 0146, 0040, 0164, 0150, 0145, 0040, 0163, 0145, 0156,
44 0163, 0157, 0162, 0040, 0164, 0171, 0160, 0145, 0040, 0171, 0157, 0165, 0040, 0167, 0141, 0156,
45 0164, 0040, 0164, 0157, 0040, 0155, 0157, 0156, 0151, 0164, 0157, 0162, 0054, 0012, 0040, 0040,
46 0040, 0040, 0040, 0040, 0143, 0141, 0154, 0154, 0040, 0164, 0150, 0145, 0040, 0156, 0145, 0164,
47 0056, 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162,
48 0157, 0170, 0171, 0056, 0103, 0154, 0141, 0151, 0155, 0101, 0143, 0143, 0145, 0154, 0145, 0162,
49 0157, 0155, 0145, 0164, 0145, 0162, 0050, 0051, 0040, 0157, 0162, 0040, 0164, 0150, 0145, 0012,
50 0040, 0040, 0040, 0040, 0040, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163,
51 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0103, 0154, 0141,
52 0151, 0155, 0114, 0151, 0147, 0150, 0164, 0050, 0051, 0040, 0155, 0145, 0164, 0150, 0157, 0144,
53 0040, 0164, 0157, 0040, 0163, 0164, 0141, 0162, 0164, 0040, 0165, 0160, 0144, 0141, 0164, 0151,
54 0156, 0147, 0040, 0164, 0150, 0145, 0040, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0151, 0145,
55 0163, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0146, 0162, 0157, 0155, 0040, 0164, 0150, 0145,
56 0040, 0150, 0141, 0162, 0144, 0167, 0141, 0162, 0145, 0040, 0162, 0145, 0141, 0144, 0151, 0156,
57 0147, 0163, 0056, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0150, 0145, 0040, 0157,
58 0142, 0152, 0145, 0143, 0164, 0040, 0160, 0141, 0164, 0150, 0040, 0167, 0151, 0154, 0154, 0040,
59 0142, 0145, 0040, 0042, 0057, 0156, 0145, 0164, 0057, 0150, 0141, 0144, 0145, 0163, 0163, 0057,
60 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0042, 0056, 0012, 0040, 0040,
61 0055, 0055, 0076, 0074, 0151, 0156, 0164, 0145, 0162, 0146, 0141, 0143, 0145, 0040, 0156, 0141,
62 0155, 0145, 0075, 0042, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123,
63 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0042, 0076, 0074, 0041, 0055, 0055,
64 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0110, 0141, 0163, 0101, 0143, 0143, 0145,
65 0154, 0145, 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0072, 0012, 0012, 0040, 0040, 0040, 0040,
66 0040, 0040, 0040, 0040, 0127, 0150, 0145, 0164, 0150, 0145, 0162, 0040, 0141, 0040, 0163, 0165,
67 0160, 0160, 0157, 0162, 0164, 0145, 0144, 0040, 0141, 0143, 0143, 0145, 0154, 0145, 0162, 0157,
68 0155, 0145, 0164, 0145, 0162, 0040, 0151, 0163, 0040, 0160, 0162, 0145, 0163, 0145, 0156, 0164,
69 0040, 0157, 0156, 0040, 0164, 0150, 0145, 0040, 0163, 0171, 0163, 0164, 0145, 0155, 0056, 0012,
70 0040, 0040, 0040, 0040, 0055, 0055, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171,
71 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0110, 0141, 0163, 0101, 0143, 0143, 0145, 0154, 0145,
72 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0042, 0040, 0164, 0171, 0160, 0145, 0075, 0042, 0142,
73 0042, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0075, 0042, 0162, 0145, 0141, 0144, 0042, 0057,
74 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0101, 0143,
75 0143, 0145, 0154, 0145, 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0117, 0162, 0151, 0145, 0156,
76 0164, 0141, 0164, 0151, 0157, 0156, 0072, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
77 0040, 0124, 0150, 0145, 0040, 0144, 0145, 0164, 0145, 0143, 0164, 0145, 0144, 0040, 0157, 0162,
78 0151, 0145, 0156, 0164, 0141, 0164, 0151, 0157, 0156, 0040, 0157, 0146, 0040, 0164, 0150, 0145,
79 0040, 0164, 0141, 0142, 0154, 0145, 0164, 0040, 0157, 0162, 0040, 0154, 0141, 0160, 0164, 0157,
80 0160, 0056, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0120, 0157, 0163, 0163, 0151,
81 0142, 0154, 0145, 0040, 0166, 0141, 0154, 0165, 0145, 0163, 0040, 0141, 0162, 0145, 0072, 0012,
82 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0055, 0040, 0165, 0156, 0144, 0145, 0146, 0151,
83 0156, 0145, 0144, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0055, 0040, 0156, 0157,
84 0162, 0155, 0141, 0154, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0055, 0040, 0142,
85 0157, 0164, 0164, 0157, 0155, 0055, 0165, 0160, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
86 0040, 0055, 0040, 0154, 0145, 0146, 0164, 0055, 0165, 0160, 0012, 0040, 0040, 0040, 0040, 0040,
87 0040, 0040, 0040, 0055, 0040, 0162, 0151, 0147, 0150, 0164, 0055, 0165, 0160, 0012, 0040, 0040,
88 0040, 0040, 0055, 0055, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156,
89 0141, 0155, 0145, 0075, 0042, 0101, 0143, 0143, 0145, 0154, 0145, 0162, 0157, 0155, 0145, 0164,
90 0145, 0162, 0117, 0162, 0151, 0145, 0156, 0164, 0141, 0164, 0151, 0157, 0156, 0042, 0040, 0164,
91 0171, 0160, 0145, 0075, 0042, 0163, 0042, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0075, 0042,
92 0162, 0145, 0141, 0144, 0042, 0057, 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040,
93 0040, 0040, 0040, 0040, 0110, 0141, 0163, 0101, 0155, 0142, 0151, 0145, 0156, 0164, 0114, 0151,
94 0147, 0150, 0164, 0072, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0127, 0150,
95 0145, 0164, 0150, 0145, 0162, 0040, 0141, 0040, 0163, 0165, 0160, 0160, 0157, 0162, 0164, 0145,
96 0144, 0040, 0141, 0155, 0142, 0151, 0145, 0156, 0164, 0040, 0154, 0151, 0147, 0150, 0164, 0040,
97 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0151, 0163, 0040, 0160, 0162, 0145, 0163, 0145, 0156,
98 0164, 0040, 0157, 0156, 0040, 0164, 0150, 0145, 0040, 0163, 0171, 0163, 0164, 0145, 0155, 0056,
99 0012, 0040, 0040, 0040, 0040, 0055, 0055, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
100 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0110, 0141, 0163, 0101, 0155, 0142, 0151, 0145,
101 0156, 0164, 0114, 0151, 0147, 0150, 0164, 0042, 0040, 0164, 0171, 0160, 0145, 0075, 0042, 0142,
102 0042, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0075, 0042, 0162, 0145, 0141, 0144, 0042, 0057,
103 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0114, 0151,
104 0147, 0150, 0164, 0114, 0145, 0166, 0145, 0154, 0125, 0156, 0151, 0164, 0072, 0012, 0012, 0040,
105 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0150, 0145, 0040, 0165, 0156, 0151, 0164, 0040,
106 0165, 0163, 0145, 0144, 0040, 0151, 0156, 0040, 0101, 0155, 0142, 0151, 0145, 0156, 0164, 0040,
107 0114, 0151, 0147, 0150, 0164, 0040, 0123, 0145, 0156, 0163, 0157, 0162, 0040, 0162, 0145, 0141,
108 0144, 0151, 0156, 0147, 0163, 0056, 0040, 0111, 0164, 0040, 0151, 0163, 0012, 0040, 0040, 0040,
109 0040, 0040, 0040, 0040, 0040, 0157, 0156, 0145, 0040, 0157, 0146, 0040, 0145, 0151, 0164, 0150,
110 0145, 0162, 0040, 0042, 0154, 0165, 0170, 0042, 0040, 0157, 0162, 0040, 0042, 0166, 0145, 0156,
111 0144, 0157, 0162, 0042, 0056, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0116,
112 0157, 0164, 0145, 0040, 0164, 0150, 0141, 0164, 0040, 0144, 0151, 0146, 0146, 0145, 0162, 0145,
113 0156, 0164, 0040, 0150, 0141, 0162, 0144, 0167, 0141, 0162, 0145, 0040, 0167, 0151, 0154, 0154,
114 0040, 0150, 0141, 0166, 0145, 0040, 0144, 0151, 0146, 0146, 0145, 0162, 0145, 0156, 0164, 0040,
115 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0040, 0151, 0156, 0040, 0164, 0150, 0145, 0012,
116 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0163, 0141, 0155, 0145, 0040, 0143, 0157, 0156,
117 0144, 0151, 0164, 0151, 0157, 0156, 0054, 0040, 0163, 0157, 0040, 0166, 0141, 0154, 0165, 0145,
118 0163, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0142, 0145, 0040, 0164, 0141, 0153, 0145,
119 0156, 0040, 0141, 0163, 0040, 0162, 0145, 0154, 0141, 0164, 0151, 0166, 0145, 0056, 0012, 0012,
120 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0127, 0150, 0145, 0156, 0040, 0164, 0150, 0145,
121 0040, 0165, 0156, 0151, 0164, 0040, 0151, 0163, 0040, 0042, 0166, 0145, 0156, 0144, 0157, 0162,
122 0042, 0054, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0040, 0167, 0151, 0154, 0154,
123 0040, 0142, 0145, 0040, 0141, 0040, 0160, 0145, 0162, 0143, 0145, 0156, 0164, 0141, 0147, 0145,
124 0040, 0167, 0151, 0164, 0150, 0040, 0061, 0060, 0060, 0045, 0040, 0142, 0145, 0151, 0156, 0147,
125 0040, 0164, 0150, 0145, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0155, 0141, 0170,
126 0151, 0155, 0165, 0155, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0056, 0012, 0040, 0040,
127 0040, 0040, 0055, 0055, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156,
128 0141, 0155, 0145, 0075, 0042, 0114, 0151, 0147, 0150, 0164, 0114, 0145, 0166, 0145, 0154, 0125,
129 0156, 0151, 0164, 0042, 0040, 0164, 0171, 0160, 0145, 0075, 0042, 0163, 0042, 0040, 0141, 0143,
130 0143, 0145, 0163, 0163, 0075, 0042, 0162, 0145, 0141, 0144, 0042, 0057, 0076, 0074, 0041, 0055,
131 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0114, 0151, 0147, 0150, 0164, 0114,
132 0145, 0166, 0145, 0154, 0072, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124,
133 0150, 0145, 0040, 0141, 0155, 0142, 0151, 0145, 0156, 0164, 0040, 0154, 0151, 0147, 0150, 0164,
134 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0054,
135 0040, 0151, 0156, 0040, 0164, 0150, 0145, 0040, 0165, 0156, 0151, 0164, 0040, 0145, 0170, 0160,
136 0157, 0162, 0164, 0145, 0144, 0040, 0151, 0156, 0040, 0164, 0150, 0145, 0012, 0040, 0040, 0040,
137 0040, 0040, 0040, 0040, 0040, 0042, 0114, 0151, 0147, 0150, 0164, 0114, 0145, 0166, 0145, 0154,
138 0125, 0156, 0151, 0164, 0042, 0040, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0056, 0012,
139 0040, 0040, 0040, 0040, 0055, 0055, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171,
140 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0114, 0151, 0147, 0150, 0164, 0114, 0145, 0166, 0145,
141 0154, 0042, 0040, 0164, 0171, 0160, 0145, 0075, 0042, 0144, 0042, 0040, 0141, 0143, 0143, 0145,
142 0163, 0163, 0075, 0042, 0162, 0145, 0141, 0144, 0042, 0057, 0076, 0074, 0041, 0055, 0055, 0012,
143 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0103, 0154, 0141, 0151, 0155, 0101, 0143, 0143, 0145,
144 0154, 0145, 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0072, 0012, 0012, 0040, 0040, 0040, 0040,
145 0040, 0040, 0040, 0124, 0157, 0040, 0163, 0164, 0141, 0162, 0164, 0040, 0162, 0145, 0143, 0145,
146 0151, 0166, 0151, 0156, 0147, 0040, 0141, 0143, 0143, 0145, 0154, 0145, 0162, 0157, 0155, 0145,
147 0164, 0145, 0162, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0040, 0165, 0160, 0144, 0141,
148 0164, 0145, 0163, 0040, 0146, 0162, 0157, 0155, 0040, 0164, 0150, 0145, 0040, 0160, 0162, 0157,
149 0170, 0171, 0054, 0040, 0164, 0150, 0145, 0040, 0141, 0160, 0160, 0154, 0151, 0143, 0141, 0164,
150 0151, 0157, 0156, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0155, 0165, 0163, 0164, 0040,
151 0143, 0141, 0154, 0154, 0040, 0164, 0150, 0145, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144,
152 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056,
153 0103, 0154, 0141, 0151, 0155, 0101, 0143, 0143, 0145, 0154, 0145, 0162, 0157, 0155, 0145, 0164,
154 0145, 0162, 0050, 0051, 0040, 0155, 0145, 0164, 0150, 0157, 0144, 0056, 0040, 0111, 0164, 0040,
155 0143, 0141, 0156, 0040, 0144, 0157, 0040, 0163, 0157, 0012, 0040, 0040, 0040, 0040, 0040, 0040,
156 0040, 0167, 0150, 0145, 0164, 0150, 0145, 0162, 0040, 0141, 0156, 0040, 0141, 0143, 0143, 0145,
157 0154, 0145, 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0040, 0151, 0163, 0040, 0141, 0166, 0141,
158 0151, 0154, 0141, 0142, 0154, 0145, 0040, 0157, 0162, 0040, 0156, 0157, 0164, 0054, 0040, 0165,
159 0160, 0144, 0141, 0164, 0145, 0163, 0040, 0167, 0157, 0165, 0154, 0144, 0040, 0164, 0150, 0145,
160 0156, 0040, 0142, 0145, 0040, 0163, 0145, 0156, 0164, 0040, 0167, 0150, 0145, 0156, 0040, 0141,
161 0156, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0141, 0143, 0143, 0145, 0154, 0145, 0162,
162 0157, 0155, 0145, 0164, 0145, 0162, 0040, 0141, 0160, 0160, 0145, 0141, 0162, 0163, 0056, 0012,
163 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0101, 0160, 0160, 0154, 0151, 0143, 0141, 0164,
164 0151, 0157, 0156, 0163, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0143, 0141, 0154, 0154,
165 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163,
166 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0101,
167 0143, 0143, 0145, 0154, 0145, 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0050, 0051, 0040, 0167,
168 0150, 0145, 0156, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0162, 0145, 0141, 0144, 0151,
169 0156, 0147, 0163, 0040, 0141, 0162, 0145, 0040, 0156, 0157, 0164, 0040, 0162, 0145, 0161, 0165,
170 0151, 0162, 0145, 0144, 0040, 0141, 0156, 0171, 0155, 0157, 0162, 0145, 0056, 0040, 0106, 0157,
171 0162, 0040, 0145, 0170, 0141, 0155, 0160, 0154, 0145, 0054, 0040, 0141, 0156, 0040, 0141, 0160,
172 0160, 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0040, 0164, 0150, 0141, 0164, 0040, 0155,
173 0157, 0156, 0151, 0164, 0157, 0162, 0163, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0164,
174 0150, 0145, 0040, 0157, 0162, 0151, 0145, 0156, 0164, 0141, 0164, 0151, 0157, 0156, 0040, 0157,
175 0146, 0040, 0164, 0150, 0145, 0040, 0155, 0141, 0151, 0156, 0040, 0163, 0143, 0162, 0145, 0145,
176 0156, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0163, 0164, 0157, 0160, 0040, 0155, 0157,
177 0156, 0151, 0164, 0157, 0162, 0151, 0156, 0147, 0040, 0146, 0157, 0162, 0040, 0165, 0160, 0144,
178 0141, 0164, 0145, 0163, 0040, 0167, 0150, 0145, 0156, 0040, 0164, 0150, 0141, 0164, 0012, 0040,
179 0040, 0040, 0040, 0040, 0040, 0040, 0163, 0143, 0162, 0145, 0145, 0156, 0040, 0150, 0141, 0163,
180 0040, 0142, 0145, 0145, 0156, 0040, 0164, 0165, 0162, 0156, 0145, 0144, 0040, 0157, 0146, 0146,
181 0056, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0150, 0151, 0163, 0040, 0160,
182 0162, 0145, 0166, 0145, 0156, 0164, 0163, 0040, 0164, 0150, 0145, 0040, 0163, 0145, 0156, 0163,
183 0157, 0162, 0040, 0160, 0162, 0157, 0170, 0171, 0040, 0146, 0162, 0157, 0155, 0040, 0160, 0157,
184 0154, 0154, 0151, 0156, 0147, 0040, 0164, 0150, 0145, 0040, 0144, 0145, 0166, 0151, 0143, 0145,
185 0054, 0040, 0164, 0150, 0165, 0163, 0040, 0151, 0156, 0143, 0162, 0145, 0141, 0163, 0151, 0156,
186 0147, 0040, 0167, 0141, 0153, 0145, 0055, 0165, 0160, 0163, 0012, 0040, 0040, 0040, 0040, 0040,
187 0040, 0040, 0141, 0156, 0144, 0040, 0162, 0145, 0144, 0165, 0143, 0151, 0156, 0147, 0040, 0142,
188 0141, 0164, 0164, 0145, 0162, 0171, 0040, 0154, 0151, 0146, 0145, 0056, 0012, 0040, 0040, 0040,
189 0040, 0055, 0055, 0076, 0074, 0155, 0145, 0164, 0150, 0157, 0144, 0040, 0156, 0141, 0155, 0145,
190 0075, 0042, 0103, 0154, 0141, 0151, 0155, 0101, 0143, 0143, 0145, 0154, 0145, 0162, 0157, 0155,
191 0145, 0164, 0145, 0162, 0042, 0057, 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040,
192 0040, 0040, 0040, 0040, 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0101, 0143, 0143, 0145, 0154,
193 0145, 0162, 0157, 0155, 0145, 0164, 0145, 0162, 0072, 0012, 0012, 0040, 0040, 0040, 0040, 0040,
194 0040, 0040, 0040, 0124, 0150, 0151, 0163, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0142,
195 0145, 0040, 0143, 0141, 0154, 0154, 0145, 0144, 0040, 0141, 0163, 0040, 0163, 0157, 0157, 0156,
196 0040, 0141, 0163, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0040, 0141, 0162, 0145,
197 0040, 0156, 0157, 0164, 0040, 0162, 0145, 0161, 0165, 0151, 0162, 0145, 0144, 0040, 0141, 0156,
198 0171, 0155, 0157, 0162, 0145, 0056, 0040, 0116, 0157, 0164, 0145, 0012, 0040, 0040, 0040, 0040,
199 0040, 0040, 0040, 0040, 0164, 0150, 0141, 0164, 0040, 0162, 0145, 0163, 0157, 0165, 0162, 0143,
200 0145, 0163, 0040, 0141, 0162, 0145, 0040, 0146, 0162, 0145, 0145, 0144, 0040, 0165, 0160, 0040,
201 0151, 0146, 0040, 0141, 0040, 0155, 0157, 0156, 0151, 0164, 0157, 0162, 0151, 0156, 0147, 0040,
202 0141, 0160, 0160, 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0040, 0145, 0170, 0151, 0164,
203 0163, 0040, 0167, 0151, 0164, 0150, 0157, 0165, 0164, 0012, 0040, 0040, 0040, 0040, 0040, 0040,
204 0040, 0040, 0143, 0141, 0154, 0154, 0151, 0156, 0147, 0040, 0156, 0145, 0164, 0056, 0150, 0141,
205 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171,
206 0056, 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0101, 0143, 0143, 0145, 0154, 0145, 0162, 0157,
207 0155, 0145, 0164, 0145, 0162, 0050, 0051, 0054, 0040, 0143, 0162, 0141, 0163, 0150, 0145, 0163,
208 0040, 0157, 0162, 0040, 0164, 0150, 0145, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0144,
209 0151, 0163, 0141, 0160, 0160, 0145, 0141, 0162, 0163, 0056, 0012, 0040, 0040, 0040, 0040, 0055,
210 0055, 0076, 0074, 0155, 0145, 0164, 0150, 0157, 0144, 0040, 0156, 0141, 0155, 0145, 0075, 0042,
211 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0101, 0143, 0143, 0145, 0154, 0145, 0162, 0157, 0155,
212 0145, 0164, 0145, 0162, 0042, 0057, 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040,
213 0040, 0040, 0040, 0103, 0154, 0141, 0151, 0155, 0114, 0151, 0147, 0150, 0164, 0072, 0012, 0012,
214 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0157, 0040, 0163, 0164, 0141, 0162, 0164, 0040,
215 0162, 0145, 0143, 0145, 0151, 0166, 0151, 0156, 0147, 0040, 0141, 0155, 0142, 0151, 0145, 0156,
216 0164, 0040, 0154, 0151, 0147, 0150, 0164, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0162,
217 0145, 0141, 0144, 0151, 0156, 0147, 0040, 0165, 0160, 0144, 0141, 0164, 0145, 0163, 0040, 0146,
218 0162, 0157, 0155, 0040, 0164, 0150, 0145, 0040, 0160, 0162, 0157, 0170, 0171, 0054, 0040, 0164,
219 0150, 0145, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0141, 0160, 0160, 0154, 0151, 0143,
220 0141, 0164, 0151, 0157, 0156, 0040, 0155, 0165, 0163, 0164, 0040, 0143, 0141, 0154, 0154, 0040,
221 0164, 0150, 0145, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123,
222 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0103, 0154, 0141, 0151, 0155,
223 0114, 0151, 0147, 0150, 0164, 0050, 0051, 0040, 0155, 0145, 0164, 0150, 0157, 0144, 0056, 0040,
224 0111, 0164, 0040, 0143, 0141, 0156, 0040, 0144, 0157, 0040, 0163, 0157, 0012, 0040, 0040, 0040,
225 0040, 0040, 0040, 0040, 0167, 0150, 0145, 0164, 0150, 0145, 0162, 0040, 0141, 0156, 0040, 0141,
226 0155, 0142, 0151, 0145, 0156, 0164, 0040, 0154, 0151, 0147, 0150, 0164, 0040, 0163, 0145, 0156,
227 0163, 0157, 0162, 0040, 0151, 0163, 0040, 0141, 0166, 0141, 0151, 0154, 0141, 0142, 0154, 0145,
228 0040, 0157, 0162, 0040, 0156, 0157, 0164, 0054, 0040, 0165, 0160, 0144, 0141, 0164, 0145, 0163,
229 0040, 0167, 0157, 0165, 0154, 0144, 0040, 0164, 0150, 0145, 0156, 0040, 0142, 0145, 0040, 0163,
230 0145, 0156, 0164, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0167, 0150, 0145, 0156, 0040,
231 0163, 0165, 0143, 0150, 0040, 0141, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0141, 0160,
232 0160, 0145, 0141, 0162, 0163, 0056, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0101,
233 0160, 0160, 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0163, 0040, 0163, 0150, 0157, 0165,
234 0154, 0144, 0040, 0143, 0141, 0154, 0154, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145,
235 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0122,
236 0145, 0154, 0145, 0141, 0163, 0145, 0114, 0151, 0147, 0150, 0164, 0050, 0051, 0040, 0167, 0150,
237 0145, 0156, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0040, 0141, 0162, 0145, 0012,
238 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0156, 0157, 0164, 0040, 0162, 0145, 0161, 0165, 0151,
239 0162, 0145, 0144, 0040, 0141, 0156, 0171, 0155, 0157, 0162, 0145, 0056, 0040, 0106, 0157, 0162,
240 0040, 0145, 0170, 0141, 0155, 0160, 0154, 0145, 0054, 0040, 0141, 0156, 0040, 0141, 0160, 0160,
241 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0040, 0164, 0150, 0141, 0164, 0040, 0155, 0157,
242 0156, 0151, 0164, 0157, 0162, 0163, 0040, 0164, 0150, 0145, 0040, 0141, 0155, 0142, 0151, 0145,
243 0156, 0164, 0040, 0154, 0151, 0147, 0150, 0164, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
244 0164, 0157, 0040, 0143, 0150, 0141, 0156, 0147, 0145, 0040, 0164, 0150, 0145, 0040, 0163, 0143,
245 0162, 0145, 0145, 0156, 0040, 0142, 0162, 0151, 0147, 0150, 0164, 0156, 0145, 0163, 0163, 0040,
246 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0163, 0164, 0157, 0160, 0040, 0155, 0157, 0156, 0151,
247 0164, 0157, 0162, 0151, 0156, 0147, 0040, 0146, 0157, 0162, 0040, 0165, 0160, 0144, 0141, 0164,
248 0145, 0163, 0040, 0167, 0150, 0145, 0156, 0040, 0164, 0150, 0141, 0164, 0040, 0163, 0143, 0162,
249 0145, 0145, 0156, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0150, 0141, 0163, 0040, 0142,
250 0145, 0145, 0156, 0040, 0164, 0165, 0162, 0156, 0145, 0144, 0040, 0157, 0146, 0146, 0056, 0012,
251 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0150, 0151, 0163, 0040, 0160, 0162, 0145,
252 0166, 0145, 0156, 0164, 0163, 0040, 0164, 0150, 0145, 0040, 0163, 0145, 0156, 0163, 0157, 0162,
253 0040, 0160, 0162, 0157, 0170, 0171, 0040, 0146, 0162, 0157, 0155, 0040, 0160, 0157, 0154, 0154,
254 0151, 0156, 0147, 0040, 0164, 0150, 0145, 0040, 0144, 0145, 0166, 0151, 0143, 0145, 0054, 0040,
255 0164, 0150, 0165, 0163, 0040, 0151, 0156, 0143, 0162, 0145, 0141, 0163, 0151, 0156, 0147, 0040,
256 0167, 0141, 0153, 0145, 0055, 0165, 0160, 0163, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
257 0141, 0156, 0144, 0040, 0162, 0145, 0144, 0165, 0143, 0151, 0156, 0147, 0040, 0142, 0141, 0164,
258 0164, 0145, 0162, 0171, 0040, 0154, 0151, 0146, 0145, 0056, 0012, 0040, 0040, 0040, 0040, 0055,
259 0055, 0076, 0074, 0155, 0145, 0164, 0150, 0157, 0144, 0040, 0156, 0141, 0155, 0145, 0075, 0042,
260 0103, 0154, 0141, 0151, 0155, 0114, 0151, 0147, 0150, 0164, 0042, 0057, 0076, 0074, 0041, 0055,
261 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0122, 0145, 0154, 0145, 0141, 0163,
262 0145, 0114, 0151, 0147, 0150, 0164, 0072, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
263 0040, 0124, 0150, 0151, 0163, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0142, 0145, 0040,
264 0143, 0141, 0154, 0154, 0145, 0144, 0040, 0141, 0163, 0040, 0163, 0157, 0157, 0156, 0040, 0141,
265 0163, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0040, 0141, 0162, 0145, 0040, 0156,
266 0157, 0164, 0040, 0162, 0145, 0161, 0165, 0151, 0162, 0145, 0144, 0040, 0141, 0156, 0171, 0155,
267 0157, 0162, 0145, 0056, 0040, 0116, 0157, 0164, 0145, 0012, 0040, 0040, 0040, 0040, 0040, 0040,
268 0040, 0040, 0164, 0150, 0141, 0164, 0040, 0162, 0145, 0163, 0157, 0165, 0162, 0143, 0145, 0163,
269 0040, 0141, 0162, 0145, 0040, 0146, 0162, 0145, 0145, 0144, 0040, 0165, 0160, 0040, 0151, 0146,
270 0040, 0141, 0040, 0155, 0157, 0156, 0151, 0164, 0157, 0162, 0151, 0156, 0147, 0040, 0141, 0160,
271 0160, 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0040, 0145, 0170, 0151, 0164, 0163, 0040,
272 0167, 0151, 0164, 0150, 0157, 0165, 0164, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
273 0143, 0141, 0154, 0154, 0151, 0156, 0147, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145,
274 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0122,
275 0145, 0154, 0145, 0141, 0163, 0145, 0114, 0151, 0147, 0150, 0164, 0050, 0051, 0054, 0040, 0143,
276 0162, 0141, 0163, 0150, 0145, 0163, 0040, 0157, 0162, 0040, 0164, 0150, 0145, 0040, 0163, 0145,
277 0156, 0163, 0157, 0162, 0040, 0144, 0151, 0163, 0141, 0160, 0160, 0145, 0141, 0162, 0163, 0056,
278 0012, 0040, 0040, 0040, 0040, 0055, 0055, 0076, 0074, 0155, 0145, 0164, 0150, 0157, 0144, 0040,
279 0156, 0141, 0155, 0145, 0075, 0042, 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0114, 0151, 0147,
280 0150, 0164, 0042, 0057, 0076, 0074, 0057, 0151, 0156, 0164, 0145, 0162, 0146, 0141, 0143, 0145,
281 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0156, 0145, 0164, 0056,
282 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157,
283 0170, 0171, 0056, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0072, 0012, 0040, 0040, 0040, 0040,
284 0040, 0040, 0100, 0163, 0150, 0157, 0162, 0164, 0137, 0144, 0145, 0163, 0143, 0162, 0151, 0160,
285 0164, 0151, 0157, 0156, 0072, 0040, 0104, 0055, 0102, 0165, 0163, 0040, 0160, 0162, 0157, 0170,
286 0171, 0040, 0164, 0157, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0040, 0103, 0157, 0155, 0160,
287 0141, 0163, 0163, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0163, 0012, 0012, 0040, 0040, 0040,
288 0040, 0040, 0040, 0101, 0146, 0164, 0145, 0162, 0040, 0143, 0150, 0145, 0143, 0153, 0151, 0156,
289 0147, 0040, 0164, 0150, 0145, 0040, 0141, 0166, 0141, 0151, 0154, 0141, 0142, 0151, 0154, 0151,
290 0164, 0171, 0040, 0157, 0146, 0040, 0164, 0150, 0145, 0040, 0163, 0145, 0156, 0163, 0157, 0162,
291 0040, 0164, 0171, 0160, 0145, 0040, 0171, 0157, 0165, 0040, 0167, 0141, 0156, 0164, 0040, 0164,
292 0157, 0040, 0155, 0157, 0156, 0151, 0164, 0157, 0162, 0054, 0012, 0040, 0040, 0040, 0040, 0040,
293 0040, 0143, 0141, 0154, 0154, 0040, 0164, 0150, 0145, 0040, 0156, 0145, 0164, 0056, 0150, 0141,
294 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171,
295 0056, 0103, 0154, 0141, 0151, 0155, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0050, 0051, 0040,
296 0155, 0145, 0164, 0150, 0157, 0144, 0040, 0164, 0157, 0040, 0163, 0164, 0141, 0162, 0164, 0040,
297 0165, 0160, 0144, 0141, 0164, 0151, 0156, 0147, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0164,
298 0150, 0145, 0040, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0151, 0145, 0163, 0040, 0146, 0162,
299 0157, 0155, 0040, 0164, 0150, 0145, 0040, 0150, 0141, 0162, 0144, 0167, 0141, 0162, 0145, 0040,
300 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0056, 0012, 0012, 0040, 0040, 0040, 0040, 0040,
301 0040, 0124, 0150, 0145, 0040, 0157, 0142, 0152, 0145, 0143, 0164, 0040, 0160, 0141, 0164, 0150,
302 0040, 0167, 0151, 0154, 0154, 0040, 0142, 0145, 0040, 0042, 0057, 0156, 0145, 0164, 0057, 0150,
303 0141, 0144, 0145, 0163, 0163, 0057, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170,
304 0171, 0057, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0042, 0056, 0012, 0040, 0040, 0055, 0055,
305 0076, 0074, 0151, 0156, 0164, 0145, 0162, 0146, 0141, 0143, 0145, 0040, 0156, 0141, 0155, 0145,
306 0075, 0042, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156,
307 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0103, 0157, 0155, 0160, 0141, 0163, 0163,
308 0042, 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0110,
309 0141, 0163, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0072, 0012, 0012, 0040, 0040, 0040, 0040,
310 0040, 0040, 0040, 0040, 0127, 0150, 0145, 0164, 0150, 0145, 0162, 0040, 0141, 0040, 0163, 0165,
311 0160, 0160, 0157, 0162, 0164, 0145, 0144, 0040, 0143, 0157, 0155, 0160, 0141, 0163, 0163, 0040,
312 0151, 0163, 0040, 0160, 0162, 0145, 0163, 0145, 0156, 0164, 0040, 0157, 0156, 0040, 0164, 0150,
313 0145, 0040, 0163, 0171, 0163, 0164, 0145, 0155, 0056, 0012, 0040, 0040, 0040, 0040, 0055, 0055,
314 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075,
315 0042, 0110, 0141, 0163, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0042, 0040, 0164, 0171, 0160,
316 0145, 0075, 0042, 0142, 0042, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0075, 0042, 0162, 0145,
317 0141, 0144, 0042, 0057, 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040,
318 0040, 0040, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0110, 0145, 0141, 0144, 0151, 0156, 0147,
319 0072, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0150, 0145, 0040, 0143,
320 0157, 0155, 0160, 0141, 0163, 0163, 0040, 0150, 0145, 0141, 0144, 0151, 0156, 0147, 0040, 0151,
321 0156, 0040, 0144, 0145, 0147, 0162, 0145, 0145, 0163, 0040, 0167, 0151, 0164, 0150, 0040, 0162,
322 0145, 0163, 0160, 0145, 0143, 0164, 0040, 0164, 0157, 0040, 0155, 0141, 0147, 0156, 0145, 0164,
323 0151, 0143, 0040, 0116, 0157, 0162, 0164, 0150, 0040, 0144, 0151, 0162, 0145, 0143, 0164, 0151,
324 0157, 0156, 0054, 0040, 0151, 0156, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0143,
325 0154, 0157, 0143, 0153, 0167, 0151, 0163, 0145, 0040, 0157, 0162, 0144, 0145, 0162, 0056, 0040,
326 0124, 0150, 0141, 0164, 0040, 0155, 0145, 0141, 0156, 0163, 0040, 0116, 0157, 0162, 0164, 0150,
327 0040, 0142, 0145, 0143, 0157, 0155, 0145, 0163, 0040, 0060, 0040, 0144, 0145, 0147, 0162, 0145,
328 0145, 0054, 0040, 0105, 0141, 0163, 0164, 0072, 0040, 0071, 0060, 0040, 0144, 0145, 0147, 0162,
329 0145, 0145, 0163, 0054, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0123, 0157, 0165,
330 0164, 0150, 0072, 0040, 0061, 0070, 0060, 0040, 0144, 0145, 0147, 0162, 0145, 0145, 0163, 0054,
331 0040, 0127, 0145, 0163, 0164, 0072, 0040, 0062, 0067, 0060, 0040, 0144, 0145, 0147, 0162, 0145,
332 0145, 0163, 0040, 0141, 0156, 0144, 0040, 0163, 0157, 0040, 0157, 0156, 0056, 0040, 0127, 0150,
333 0145, 0156, 0040, 0165, 0156, 0153, 0156, 0157, 0167, 0156, 0054, 0012, 0040, 0040, 0040, 0040,
334 0040, 0040, 0040, 0040, 0151, 0164, 0047, 0163, 0040, 0163, 0145, 0164, 0040, 0164, 0157, 0040,
335 0055, 0061, 0056, 0060, 0056, 0012, 0040, 0040, 0040, 0040, 0055, 0055, 0076, 0074, 0160, 0162,
336 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0103, 0157, 0155,
337 0160, 0141, 0163, 0163, 0110, 0145, 0141, 0144, 0151, 0156, 0147, 0042, 0040, 0164, 0171, 0160,
338 0145, 0075, 0042, 0144, 0042, 0040, 0141, 0143, 0143, 0145, 0163, 0163, 0075, 0042, 0162, 0145,
339 0141, 0144, 0042, 0057, 0076, 0074, 0041, 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040,
340 0040, 0103, 0154, 0141, 0151, 0155, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0072, 0012, 0012,
341 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0124, 0157, 0040, 0163, 0164, 0141, 0162, 0164, 0040,
342 0162, 0145, 0143, 0145, 0151, 0166, 0151, 0156, 0147, 0040, 0143, 0157, 0155, 0160, 0141, 0163,
343 0163, 0040, 0150, 0145, 0141, 0144, 0151, 0156, 0147, 0040, 0165, 0160, 0144, 0141, 0164, 0145,
344 0163, 0040, 0146, 0162, 0157, 0155, 0040, 0164, 0150, 0145, 0040, 0160, 0162, 0157, 0170, 0171,
345 0054, 0040, 0164, 0150, 0145, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0141, 0160, 0160,
346 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0040, 0155, 0165, 0163, 0164, 0040, 0143, 0141,
347 0154, 0154, 0040, 0164, 0150, 0145, 0040, 0156, 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163,
348 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0056, 0103, 0154,
349 0141, 0151, 0155, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0050, 0051, 0040, 0155, 0145, 0164,
350 0150, 0157, 0144, 0056, 0040, 0111, 0164, 0040, 0143, 0141, 0156, 0040, 0144, 0157, 0040, 0163,
351 0157, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0167, 0150, 0145, 0164, 0150, 0145, 0162,
352 0040, 0141, 0040, 0143, 0157, 0155, 0160, 0141, 0163, 0163, 0040, 0151, 0163, 0040, 0141, 0166,
353 0141, 0151, 0154, 0141, 0142, 0154, 0145, 0040, 0157, 0162, 0040, 0156, 0157, 0164, 0054, 0040,
354 0165, 0160, 0144, 0141, 0164, 0145, 0163, 0040, 0167, 0157, 0165, 0154, 0144, 0040, 0164, 0150,
355 0145, 0156, 0040, 0142, 0145, 0040, 0163, 0145, 0156, 0164, 0012, 0040, 0040, 0040, 0040, 0040,
356 0040, 0040, 0167, 0150, 0145, 0156, 0040, 0163, 0165, 0143, 0150, 0040, 0141, 0040, 0163, 0145,
357 0156, 0163, 0157, 0162, 0040, 0141, 0160, 0160, 0145, 0141, 0162, 0163, 0056, 0012, 0012, 0040,
358 0040, 0040, 0040, 0040, 0040, 0040, 0101, 0160, 0160, 0154, 0151, 0143, 0141, 0164, 0151, 0157,
359 0156, 0163, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040, 0143, 0141, 0154, 0154, 0040, 0156,
360 0145, 0164, 0056, 0150, 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162,
361 0120, 0162, 0157, 0170, 0171, 0056, 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0103, 0157, 0155,
362 0160, 0141, 0163, 0163, 0050, 0051, 0040, 0167, 0150, 0145, 0156, 0040, 0162, 0145, 0141, 0144,
363 0151, 0156, 0147, 0163, 0040, 0141, 0162, 0145, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040,
364 0156, 0157, 0164, 0040, 0162, 0145, 0161, 0165, 0151, 0162, 0145, 0144, 0040, 0141, 0156, 0171,
365 0155, 0157, 0162, 0145, 0056, 0040, 0124, 0150, 0151, 0163, 0040, 0160, 0162, 0145, 0166, 0145,
366 0156, 0164, 0163, 0040, 0164, 0150, 0145, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0160,
367 0162, 0157, 0170, 0171, 0040, 0146, 0162, 0157, 0155, 0040, 0160, 0157, 0154, 0154, 0151, 0156,
368 0147, 0040, 0164, 0150, 0145, 0040, 0144, 0145, 0166, 0151, 0143, 0145, 0054, 0040, 0164, 0150,
369 0165, 0163, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0151, 0156, 0143, 0162, 0145, 0141,
370 0163, 0151, 0156, 0147, 0040, 0167, 0141, 0153, 0145, 0055, 0165, 0160, 0163, 0040, 0141, 0156,
371 0144, 0040, 0162, 0145, 0144, 0165, 0143, 0151, 0156, 0147, 0040, 0142, 0141, 0164, 0164, 0145,
372 0162, 0171, 0040, 0154, 0151, 0146, 0145, 0056, 0012, 0012, 0040, 0040, 0040, 0040, 0040, 0040,
373 0040, 0116, 0157, 0164, 0145, 0040, 0164, 0150, 0141, 0164, 0040, 0103, 0157, 0155, 0160, 0141,
374 0163, 0163, 0040, 0151, 0156, 0146, 0157, 0162, 0155, 0141, 0164, 0151, 0157, 0156, 0040, 0151,
375 0163, 0040, 0157, 0156, 0154, 0171, 0040, 0141, 0166, 0141, 0151, 0154, 0141, 0142, 0154, 0145,
376 0040, 0164, 0157, 0040, 0107, 0145, 0157, 0143, 0154, 0165, 0145, 0040, 0142, 0171, 0040, 0144,
377 0145, 0146, 0141, 0165, 0154, 0164, 0054, 0040, 0167, 0150, 0151, 0143, 0150, 0040, 0167, 0151,
378 0154, 0154, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0160, 0162, 0157, 0170, 0171, 0040,
379 0164, 0150, 0145, 0040, 0155, 0141, 0147, 0156, 0145, 0164, 0151, 0143, 0040, 0150, 0145, 0141,
380 0144, 0151, 0156, 0147, 0040, 0151, 0156, 0146, 0157, 0162, 0155, 0141, 0164, 0151, 0157, 0156,
381 0054, 0040, 0141, 0156, 0144, 0040, 0164, 0162, 0141, 0156, 0163, 0146, 0157, 0162, 0155, 0040,
382 0151, 0164, 0040, 0164, 0157, 0040, 0124, 0162, 0165, 0145, 0040, 0116, 0157, 0162, 0164, 0150,
383 0040, 0150, 0145, 0141, 0144, 0151, 0156, 0147, 0056, 0012, 0040, 0040, 0040, 0040, 0055, 0055,
384 0076, 0074, 0155, 0145, 0164, 0150, 0157, 0144, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0103,
385 0154, 0141, 0151, 0155, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0042, 0057, 0076, 0074, 0041,
386 0055, 0055, 0012, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0040, 0122, 0145, 0154, 0145, 0141,
387 0163, 0145, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0072, 0012, 0012, 0040, 0040, 0040, 0040,
388 0040, 0040, 0040, 0040, 0124, 0150, 0151, 0163, 0040, 0163, 0150, 0157, 0165, 0154, 0144, 0040,
389 0142, 0145, 0040, 0143, 0141, 0154, 0154, 0145, 0144, 0040, 0141, 0163, 0040, 0163, 0157, 0157,
390 0156, 0040, 0141, 0163, 0040, 0162, 0145, 0141, 0144, 0151, 0156, 0147, 0163, 0040, 0141, 0162,
391 0145, 0040, 0156, 0157, 0164, 0040, 0162, 0145, 0161, 0165, 0151, 0162, 0145, 0144, 0040, 0141,
392 0156, 0171, 0155, 0157, 0162, 0145, 0056, 0040, 0116, 0157, 0164, 0145, 0012, 0040, 0040, 0040,
393 0040, 0040, 0040, 0040, 0040, 0164, 0150, 0141, 0164, 0040, 0162, 0145, 0163, 0157, 0165, 0162,
394 0143, 0145, 0163, 0040, 0141, 0162, 0145, 0040, 0146, 0162, 0145, 0145, 0144, 0040, 0165, 0160,
395 0040, 0151, 0146, 0040, 0141, 0040, 0155, 0157, 0156, 0151, 0164, 0157, 0162, 0151, 0156, 0147,
396 0040, 0141, 0160, 0160, 0154, 0151, 0143, 0141, 0164, 0151, 0157, 0156, 0040, 0145, 0170, 0151,
397 0164, 0163, 0040, 0167, 0151, 0164, 0150, 0157, 0165, 0164, 0012, 0040, 0040, 0040, 0040, 0040,
398 0040, 0040, 0040, 0143, 0141, 0154, 0154, 0151, 0156, 0147, 0040, 0156, 0145, 0164, 0056, 0150,
399 0141, 0144, 0145, 0163, 0163, 0056, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170,
400 0171, 0056, 0122, 0145, 0154, 0145, 0141, 0163, 0145, 0103, 0157, 0155, 0160, 0141, 0163, 0163,
401 0050, 0051, 0054, 0040, 0143, 0162, 0141, 0163, 0150, 0145, 0163, 0040, 0157, 0162, 0040, 0164,
402 0150, 0145, 0040, 0163, 0145, 0156, 0163, 0157, 0162, 0040, 0144, 0151, 0163, 0141, 0160, 0160,
403 0145, 0141, 0162, 0163, 0056, 0012, 0040, 0040, 0040, 0040, 0055, 0055, 0076, 0074, 0155, 0145,
404 0164, 0150, 0157, 0144, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0122, 0145, 0154, 0145, 0141,
405 0163, 0145, 0103, 0157, 0155, 0160, 0141, 0163, 0163, 0042, 0057, 0076, 0074, 0057, 0151, 0156,
406 0164, 0145, 0162, 0146, 0141, 0143, 0145, 0076, 0074, 0057, 0156, 0157, 0144, 0145, 0076, 0012,
407 0000, 0000, 0050, 0165, 0165, 0141, 0171, 0051, 0150, 0141, 0144, 0145, 0163, 0163, 0057, 0000,
408 0004, 0000, 0000, 0000, 0123, 0145, 0156, 0163, 0157, 0162, 0120, 0162, 0157, 0170, 0171, 0057,
409 0002, 0000, 0000, 0000
808410 } };
809
810 static GStaticResource static_resource = { iio_sensor_proxy_resource_data.data, sizeof (iio_sensor_proxy_resource_data.data), NULL, NULL, NULL };
411 #else /* _MSC_VER */
412 static const SECTION union { const guint8 data[6389]; const double alignment; void * const ptr;} iio_sensor_proxy_resource_data = {
413 "\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000"
414 "\030\000\000\000\254\000\000\000\000\000\000\050\005\000\000\000"
415 "\000\000\000\000\003\000\000\000\003\000\000\000\003\000\000\000"
416 "\005\000\000\000\324\265\002\000\377\377\377\377\254\000\000\000"
417 "\001\000\114\000\260\000\000\000\264\000\000\000\112\216\217\013"
418 "\000\000\000\000\264\000\000\000\004\000\114\000\270\000\000\000"
419 "\274\000\000\000\322\324\141\114\004\000\000\000\274\000\000\000"
420 "\032\000\166\000\330\000\000\000\330\030\000\000\121\127\003\223"
421 "\001\000\000\000\330\030\000\000\007\000\114\000\340\030\000\000"
422 "\344\030\000\000\034\245\240\240\003\000\000\000\344\030\000\000"
423 "\014\000\114\000\360\030\000\000\364\030\000\000\057\000\000\000"
424 "\001\000\000\000\156\145\164\057\003\000\000\000\156\145\164\056"
425 "\150\141\144\145\163\163\056\123\145\156\163\157\162\120\162\157"
426 "\170\171\056\170\155\154\000\000\360\027\000\000\000\000\000\000"
427 "\074\077\170\155\154\040\166\145\162\163\151\157\156\075\042\061"
428 "\056\060\042\077\076\012\074\041\104\117\103\124\131\120\105\040"
429 "\156\157\144\145\040\120\125\102\114\111\103\040\042\055\057\057"
430 "\146\162\145\145\144\145\163\153\164\157\160\057\057\104\124\104"
431 "\040\104\055\102\125\123\040\117\142\152\145\143\164\040\111\156"
432 "\164\162\157\163\160\145\143\164\151\157\156\040\061\056\060\057"
433 "\057\105\116\042\040\042\150\164\164\160\072\057\057\167\167\167"
434 "\056\146\162\145\145\144\145\163\153\164\157\160\056\157\162\147"
435 "\057\163\164\141\156\144\141\162\144\163\057\144\142\165\163\057"
436 "\061\056\060\057\151\156\164\162\157\163\160\145\143\164\056\144"
437 "\164\144\042\076\012\074\156\157\144\145\076\074\041\055\055\012"
438 "\040\040\040\040\040\040\156\145\164\056\150\141\144\145\163\163"
439 "\056\123\145\156\163\157\162\120\162\157\170\171\072\012\040\040"
440 "\040\040\040\040\100\163\150\157\162\164\137\144\145\163\143\162"
441 "\151\160\164\151\157\156\072\040\104\055\102\165\163\040\160\162"
442 "\157\170\171\040\164\157\040\141\143\143\145\163\163\040\150\141"
443 "\162\144\167\141\162\145\040\163\145\156\163\157\162\163\012\012"
444 "\040\040\040\040\040\040\101\146\164\145\162\040\143\150\145\143"
445 "\153\151\156\147\040\164\150\145\040\141\166\141\151\154\141\142"
446 "\151\154\151\164\171\040\157\146\040\164\150\145\040\163\145\156"
447 "\163\157\162\040\164\171\160\145\040\171\157\165\040\167\141\156"
448 "\164\040\164\157\040\155\157\156\151\164\157\162\054\012\040\040"
449 "\040\040\040\040\143\141\154\154\040\164\150\145\040\156\145\164"
450 "\056\150\141\144\145\163\163\056\123\145\156\163\157\162\120\162"
451 "\157\170\171\056\103\154\141\151\155\101\143\143\145\154\145\162"
452 "\157\155\145\164\145\162\050\051\040\157\162\040\164\150\145\012"
453 "\040\040\040\040\040\040\156\145\164\056\150\141\144\145\163\163"
454 "\056\123\145\156\163\157\162\120\162\157\170\171\056\103\154\141"
455 "\151\155\114\151\147\150\164\050\051\040\155\145\164\150\157\144"
456 "\040\164\157\040\163\164\141\162\164\040\165\160\144\141\164\151"
457 "\156\147\040\164\150\145\040\160\162\157\160\145\162\164\151\145"
458 "\163\012\040\040\040\040\040\040\146\162\157\155\040\164\150\145"
459 "\040\150\141\162\144\167\141\162\145\040\162\145\141\144\151\156"
460 "\147\163\056\012\012\040\040\040\040\040\040\124\150\145\040\157"
461 "\142\152\145\143\164\040\160\141\164\150\040\167\151\154\154\040"
462 "\142\145\040\042\057\156\145\164\057\150\141\144\145\163\163\057"
463 "\123\145\156\163\157\162\120\162\157\170\171\042\056\012\040\040"
464 "\055\055\076\074\151\156\164\145\162\146\141\143\145\040\156\141"
465 "\155\145\075\042\156\145\164\056\150\141\144\145\163\163\056\123"
466 "\145\156\163\157\162\120\162\157\170\171\042\076\074\041\055\055"
467 "\012\040\040\040\040\040\040\040\040\110\141\163\101\143\143\145"
468 "\154\145\162\157\155\145\164\145\162\072\012\012\040\040\040\040"
469 "\040\040\040\040\127\150\145\164\150\145\162\040\141\040\163\165"
470 "\160\160\157\162\164\145\144\040\141\143\143\145\154\145\162\157"
471 "\155\145\164\145\162\040\151\163\040\160\162\145\163\145\156\164"
472 "\040\157\156\040\164\150\145\040\163\171\163\164\145\155\056\012"
473 "\040\040\040\040\055\055\076\074\160\162\157\160\145\162\164\171"
474 "\040\156\141\155\145\075\042\110\141\163\101\143\143\145\154\145"
475 "\162\157\155\145\164\145\162\042\040\164\171\160\145\075\042\142"
476 "\042\040\141\143\143\145\163\163\075\042\162\145\141\144\042\057"
477 "\076\074\041\055\055\012\040\040\040\040\040\040\040\040\101\143"
478 "\143\145\154\145\162\157\155\145\164\145\162\117\162\151\145\156"
479 "\164\141\164\151\157\156\072\012\012\040\040\040\040\040\040\040"
480 "\040\124\150\145\040\144\145\164\145\143\164\145\144\040\157\162"
481 "\151\145\156\164\141\164\151\157\156\040\157\146\040\164\150\145"
482 "\040\164\141\142\154\145\164\040\157\162\040\154\141\160\164\157"
483 "\160\056\012\040\040\040\040\040\040\040\040\120\157\163\163\151"
484 "\142\154\145\040\166\141\154\165\145\163\040\141\162\145\072\012"
485 "\040\040\040\040\040\040\040\040\055\040\165\156\144\145\146\151"
486 "\156\145\144\012\040\040\040\040\040\040\040\040\055\040\156\157"
487 "\162\155\141\154\012\040\040\040\040\040\040\040\040\055\040\142"
488 "\157\164\164\157\155\055\165\160\012\040\040\040\040\040\040\040"
489 "\040\055\040\154\145\146\164\055\165\160\012\040\040\040\040\040"
490 "\040\040\040\055\040\162\151\147\150\164\055\165\160\012\040\040"
491 "\040\040\055\055\076\074\160\162\157\160\145\162\164\171\040\156"
492 "\141\155\145\075\042\101\143\143\145\154\145\162\157\155\145\164"
493 "\145\162\117\162\151\145\156\164\141\164\151\157\156\042\040\164"
494 "\171\160\145\075\042\163\042\040\141\143\143\145\163\163\075\042"
495 "\162\145\141\144\042\057\076\074\041\055\055\012\040\040\040\040"
496 "\040\040\040\040\110\141\163\101\155\142\151\145\156\164\114\151"
497 "\147\150\164\072\012\012\040\040\040\040\040\040\040\040\127\150"
498 "\145\164\150\145\162\040\141\040\163\165\160\160\157\162\164\145"
499 "\144\040\141\155\142\151\145\156\164\040\154\151\147\150\164\040"
500 "\163\145\156\163\157\162\040\151\163\040\160\162\145\163\145\156"
501 "\164\040\157\156\040\164\150\145\040\163\171\163\164\145\155\056"
502 "\012\040\040\040\040\055\055\076\074\160\162\157\160\145\162\164"
503 "\171\040\156\141\155\145\075\042\110\141\163\101\155\142\151\145"
504 "\156\164\114\151\147\150\164\042\040\164\171\160\145\075\042\142"
505 "\042\040\141\143\143\145\163\163\075\042\162\145\141\144\042\057"
506 "\076\074\041\055\055\012\040\040\040\040\040\040\040\040\114\151"
507 "\147\150\164\114\145\166\145\154\125\156\151\164\072\012\012\040"
508 "\040\040\040\040\040\040\040\124\150\145\040\165\156\151\164\040"
509 "\165\163\145\144\040\151\156\040\101\155\142\151\145\156\164\040"
510 "\114\151\147\150\164\040\123\145\156\163\157\162\040\162\145\141"
511 "\144\151\156\147\163\056\040\111\164\040\151\163\012\040\040\040"
512 "\040\040\040\040\040\157\156\145\040\157\146\040\145\151\164\150"
513 "\145\162\040\042\154\165\170\042\040\157\162\040\042\166\145\156"
514 "\144\157\162\042\056\012\012\040\040\040\040\040\040\040\040\116"
515 "\157\164\145\040\164\150\141\164\040\144\151\146\146\145\162\145"
516 "\156\164\040\150\141\162\144\167\141\162\145\040\167\151\154\154"
517 "\040\150\141\166\145\040\144\151\146\146\145\162\145\156\164\040"
518 "\162\145\141\144\151\156\147\163\040\151\156\040\164\150\145\012"
519 "\040\040\040\040\040\040\040\040\163\141\155\145\040\143\157\156"
520 "\144\151\164\151\157\156\054\040\163\157\040\166\141\154\165\145"
521 "\163\040\163\150\157\165\154\144\040\142\145\040\164\141\153\145"
522 "\156\040\141\163\040\162\145\154\141\164\151\166\145\056\012\012"
523 "\040\040\040\040\040\040\040\040\127\150\145\156\040\164\150\145"
524 "\040\165\156\151\164\040\151\163\040\042\166\145\156\144\157\162"
525 "\042\054\040\162\145\141\144\151\156\147\163\040\167\151\154\154"
526 "\040\142\145\040\141\040\160\145\162\143\145\156\164\141\147\145"
527 "\040\167\151\164\150\040\061\060\060\045\040\142\145\151\156\147"
528 "\040\164\150\145\012\040\040\040\040\040\040\040\040\155\141\170"
529 "\151\155\165\155\040\162\145\141\144\151\156\147\056\012\040\040"
530 "\040\040\055\055\076\074\160\162\157\160\145\162\164\171\040\156"
531 "\141\155\145\075\042\114\151\147\150\164\114\145\166\145\154\125"
532 "\156\151\164\042\040\164\171\160\145\075\042\163\042\040\141\143"
533 "\143\145\163\163\075\042\162\145\141\144\042\057\076\074\041\055"
534 "\055\012\040\040\040\040\040\040\040\040\114\151\147\150\164\114"
535 "\145\166\145\154\072\012\012\040\040\040\040\040\040\040\040\124"
536 "\150\145\040\141\155\142\151\145\156\164\040\154\151\147\150\164"
537 "\040\163\145\156\163\157\162\040\162\145\141\144\151\156\147\054"
538 "\040\151\156\040\164\150\145\040\165\156\151\164\040\145\170\160"
539 "\157\162\164\145\144\040\151\156\040\164\150\145\012\040\040\040"
540 "\040\040\040\040\040\042\114\151\147\150\164\114\145\166\145\154"
541 "\125\156\151\164\042\040\160\162\157\160\145\162\164\171\056\012"
542 "\040\040\040\040\055\055\076\074\160\162\157\160\145\162\164\171"
543 "\040\156\141\155\145\075\042\114\151\147\150\164\114\145\166\145"
544 "\154\042\040\164\171\160\145\075\042\144\042\040\141\143\143\145"
545 "\163\163\075\042\162\145\141\144\042\057\076\074\041\055\055\012"
546 "\040\040\040\040\040\040\040\103\154\141\151\155\101\143\143\145"
547 "\154\145\162\157\155\145\164\145\162\072\012\012\040\040\040\040"
548 "\040\040\040\124\157\040\163\164\141\162\164\040\162\145\143\145"
549 "\151\166\151\156\147\040\141\143\143\145\154\145\162\157\155\145"
550 "\164\145\162\040\162\145\141\144\151\156\147\040\165\160\144\141"
551 "\164\145\163\040\146\162\157\155\040\164\150\145\040\160\162\157"
552 "\170\171\054\040\164\150\145\040\141\160\160\154\151\143\141\164"
553 "\151\157\156\012\040\040\040\040\040\040\040\155\165\163\164\040"
554 "\143\141\154\154\040\164\150\145\040\156\145\164\056\150\141\144"
555 "\145\163\163\056\123\145\156\163\157\162\120\162\157\170\171\056"
556 "\103\154\141\151\155\101\143\143\145\154\145\162\157\155\145\164"
557 "\145\162\050\051\040\155\145\164\150\157\144\056\040\111\164\040"
558 "\143\141\156\040\144\157\040\163\157\012\040\040\040\040\040\040"
559 "\040\167\150\145\164\150\145\162\040\141\156\040\141\143\143\145"
560 "\154\145\162\157\155\145\164\145\162\040\151\163\040\141\166\141"
561 "\151\154\141\142\154\145\040\157\162\040\156\157\164\054\040\165"
562 "\160\144\141\164\145\163\040\167\157\165\154\144\040\164\150\145"
563 "\156\040\142\145\040\163\145\156\164\040\167\150\145\156\040\141"
564 "\156\012\040\040\040\040\040\040\040\141\143\143\145\154\145\162"
565 "\157\155\145\164\145\162\040\141\160\160\145\141\162\163\056\012"
566 "\012\040\040\040\040\040\040\040\101\160\160\154\151\143\141\164"
567 "\151\157\156\163\040\163\150\157\165\154\144\040\143\141\154\154"
568 "\040\156\145\164\056\150\141\144\145\163\163\056\123\145\156\163"
569 "\157\162\120\162\157\170\171\056\122\145\154\145\141\163\145\101"
570 "\143\143\145\154\145\162\157\155\145\164\145\162\050\051\040\167"
571 "\150\145\156\012\040\040\040\040\040\040\040\162\145\141\144\151"
572 "\156\147\163\040\141\162\145\040\156\157\164\040\162\145\161\165"
573 "\151\162\145\144\040\141\156\171\155\157\162\145\056\040\106\157"
574 "\162\040\145\170\141\155\160\154\145\054\040\141\156\040\141\160"
575 "\160\154\151\143\141\164\151\157\156\040\164\150\141\164\040\155"
576 "\157\156\151\164\157\162\163\012\040\040\040\040\040\040\040\164"
577 "\150\145\040\157\162\151\145\156\164\141\164\151\157\156\040\157"
578 "\146\040\164\150\145\040\155\141\151\156\040\163\143\162\145\145"
579 "\156\040\163\150\157\165\154\144\040\163\164\157\160\040\155\157"
580 "\156\151\164\157\162\151\156\147\040\146\157\162\040\165\160\144"
581 "\141\164\145\163\040\167\150\145\156\040\164\150\141\164\012\040"
582 "\040\040\040\040\040\040\163\143\162\145\145\156\040\150\141\163"
583 "\040\142\145\145\156\040\164\165\162\156\145\144\040\157\146\146"
584 "\056\012\012\040\040\040\040\040\040\040\124\150\151\163\040\160"
585 "\162\145\166\145\156\164\163\040\164\150\145\040\163\145\156\163"
586 "\157\162\040\160\162\157\170\171\040\146\162\157\155\040\160\157"
587 "\154\154\151\156\147\040\164\150\145\040\144\145\166\151\143\145"
588 "\054\040\164\150\165\163\040\151\156\143\162\145\141\163\151\156"
589 "\147\040\167\141\153\145\055\165\160\163\012\040\040\040\040\040"
590 "\040\040\141\156\144\040\162\145\144\165\143\151\156\147\040\142"
591 "\141\164\164\145\162\171\040\154\151\146\145\056\012\040\040\040"
592 "\040\055\055\076\074\155\145\164\150\157\144\040\156\141\155\145"
593 "\075\042\103\154\141\151\155\101\143\143\145\154\145\162\157\155"
594 "\145\164\145\162\042\057\076\074\041\055\055\012\040\040\040\040"
595 "\040\040\040\040\122\145\154\145\141\163\145\101\143\143\145\154"
596 "\145\162\157\155\145\164\145\162\072\012\012\040\040\040\040\040"
597 "\040\040\040\124\150\151\163\040\163\150\157\165\154\144\040\142"
598 "\145\040\143\141\154\154\145\144\040\141\163\040\163\157\157\156"
599 "\040\141\163\040\162\145\141\144\151\156\147\163\040\141\162\145"
600 "\040\156\157\164\040\162\145\161\165\151\162\145\144\040\141\156"
601 "\171\155\157\162\145\056\040\116\157\164\145\012\040\040\040\040"
602 "\040\040\040\040\164\150\141\164\040\162\145\163\157\165\162\143"
603 "\145\163\040\141\162\145\040\146\162\145\145\144\040\165\160\040"
604 "\151\146\040\141\040\155\157\156\151\164\157\162\151\156\147\040"
605 "\141\160\160\154\151\143\141\164\151\157\156\040\145\170\151\164"
606 "\163\040\167\151\164\150\157\165\164\012\040\040\040\040\040\040"
607 "\040\040\143\141\154\154\151\156\147\040\156\145\164\056\150\141"
608 "\144\145\163\163\056\123\145\156\163\157\162\120\162\157\170\171"
609 "\056\122\145\154\145\141\163\145\101\143\143\145\154\145\162\157"
610 "\155\145\164\145\162\050\051\054\040\143\162\141\163\150\145\163"
611 "\040\157\162\040\164\150\145\040\163\145\156\163\157\162\040\144"
612 "\151\163\141\160\160\145\141\162\163\056\012\040\040\040\040\055"
613 "\055\076\074\155\145\164\150\157\144\040\156\141\155\145\075\042"
614 "\122\145\154\145\141\163\145\101\143\143\145\154\145\162\157\155"
615 "\145\164\145\162\042\057\076\074\041\055\055\012\040\040\040\040"
616 "\040\040\040\103\154\141\151\155\114\151\147\150\164\072\012\012"
617 "\040\040\040\040\040\040\040\124\157\040\163\164\141\162\164\040"
618 "\162\145\143\145\151\166\151\156\147\040\141\155\142\151\145\156"
619 "\164\040\154\151\147\150\164\040\163\145\156\163\157\162\040\162"
620 "\145\141\144\151\156\147\040\165\160\144\141\164\145\163\040\146"
621 "\162\157\155\040\164\150\145\040\160\162\157\170\171\054\040\164"
622 "\150\145\012\040\040\040\040\040\040\040\141\160\160\154\151\143"
623 "\141\164\151\157\156\040\155\165\163\164\040\143\141\154\154\040"
624 "\164\150\145\040\156\145\164\056\150\141\144\145\163\163\056\123"
625 "\145\156\163\157\162\120\162\157\170\171\056\103\154\141\151\155"
626 "\114\151\147\150\164\050\051\040\155\145\164\150\157\144\056\040"
627 "\111\164\040\143\141\156\040\144\157\040\163\157\012\040\040\040"
628 "\040\040\040\040\167\150\145\164\150\145\162\040\141\156\040\141"
629 "\155\142\151\145\156\164\040\154\151\147\150\164\040\163\145\156"
630 "\163\157\162\040\151\163\040\141\166\141\151\154\141\142\154\145"
631 "\040\157\162\040\156\157\164\054\040\165\160\144\141\164\145\163"
632 "\040\167\157\165\154\144\040\164\150\145\156\040\142\145\040\163"
633 "\145\156\164\012\040\040\040\040\040\040\040\167\150\145\156\040"
634 "\163\165\143\150\040\141\040\163\145\156\163\157\162\040\141\160"
635 "\160\145\141\162\163\056\012\012\040\040\040\040\040\040\040\101"
636 "\160\160\154\151\143\141\164\151\157\156\163\040\163\150\157\165"
637 "\154\144\040\143\141\154\154\040\156\145\164\056\150\141\144\145"
638 "\163\163\056\123\145\156\163\157\162\120\162\157\170\171\056\122"
639 "\145\154\145\141\163\145\114\151\147\150\164\050\051\040\167\150"
640 "\145\156\040\162\145\141\144\151\156\147\163\040\141\162\145\012"
641 "\040\040\040\040\040\040\040\156\157\164\040\162\145\161\165\151"
642 "\162\145\144\040\141\156\171\155\157\162\145\056\040\106\157\162"
643 "\040\145\170\141\155\160\154\145\054\040\141\156\040\141\160\160"
644 "\154\151\143\141\164\151\157\156\040\164\150\141\164\040\155\157"
645 "\156\151\164\157\162\163\040\164\150\145\040\141\155\142\151\145"
646 "\156\164\040\154\151\147\150\164\012\040\040\040\040\040\040\040"
647 "\164\157\040\143\150\141\156\147\145\040\164\150\145\040\163\143"
648 "\162\145\145\156\040\142\162\151\147\150\164\156\145\163\163\040"
649 "\163\150\157\165\154\144\040\163\164\157\160\040\155\157\156\151"
650 "\164\157\162\151\156\147\040\146\157\162\040\165\160\144\141\164"
651 "\145\163\040\167\150\145\156\040\164\150\141\164\040\163\143\162"
652 "\145\145\156\012\040\040\040\040\040\040\040\150\141\163\040\142"
653 "\145\145\156\040\164\165\162\156\145\144\040\157\146\146\056\012"
654 "\012\040\040\040\040\040\040\040\124\150\151\163\040\160\162\145"
655 "\166\145\156\164\163\040\164\150\145\040\163\145\156\163\157\162"
656 "\040\160\162\157\170\171\040\146\162\157\155\040\160\157\154\154"
657 "\151\156\147\040\164\150\145\040\144\145\166\151\143\145\054\040"
658 "\164\150\165\163\040\151\156\143\162\145\141\163\151\156\147\040"
659 "\167\141\153\145\055\165\160\163\012\040\040\040\040\040\040\040"
660 "\141\156\144\040\162\145\144\165\143\151\156\147\040\142\141\164"
661 "\164\145\162\171\040\154\151\146\145\056\012\040\040\040\040\055"
662 "\055\076\074\155\145\164\150\157\144\040\156\141\155\145\075\042"
663 "\103\154\141\151\155\114\151\147\150\164\042\057\076\074\041\055"
664 "\055\012\040\040\040\040\040\040\040\040\122\145\154\145\141\163"
665 "\145\114\151\147\150\164\072\012\012\040\040\040\040\040\040\040"
666 "\040\124\150\151\163\040\163\150\157\165\154\144\040\142\145\040"
667 "\143\141\154\154\145\144\040\141\163\040\163\157\157\156\040\141"
668 "\163\040\162\145\141\144\151\156\147\163\040\141\162\145\040\156"
669 "\157\164\040\162\145\161\165\151\162\145\144\040\141\156\171\155"
670 "\157\162\145\056\040\116\157\164\145\012\040\040\040\040\040\040"
671 "\040\040\164\150\141\164\040\162\145\163\157\165\162\143\145\163"
672 "\040\141\162\145\040\146\162\145\145\144\040\165\160\040\151\146"
673 "\040\141\040\155\157\156\151\164\157\162\151\156\147\040\141\160"
674 "\160\154\151\143\141\164\151\157\156\040\145\170\151\164\163\040"
675 "\167\151\164\150\157\165\164\012\040\040\040\040\040\040\040\040"
676 "\143\141\154\154\151\156\147\040\156\145\164\056\150\141\144\145"
677 "\163\163\056\123\145\156\163\157\162\120\162\157\170\171\056\122"
678 "\145\154\145\141\163\145\114\151\147\150\164\050\051\054\040\143"
679 "\162\141\163\150\145\163\040\157\162\040\164\150\145\040\163\145"
680 "\156\163\157\162\040\144\151\163\141\160\160\145\141\162\163\056"
681 "\012\040\040\040\040\055\055\076\074\155\145\164\150\157\144\040"
682 "\156\141\155\145\075\042\122\145\154\145\141\163\145\114\151\147"
683 "\150\164\042\057\076\074\057\151\156\164\145\162\146\141\143\145"
684 "\076\074\041\055\055\012\040\040\040\040\040\040\156\145\164\056"
685 "\150\141\144\145\163\163\056\123\145\156\163\157\162\120\162\157"
686 "\170\171\056\103\157\155\160\141\163\163\072\012\040\040\040\040"
687 "\040\040\100\163\150\157\162\164\137\144\145\163\143\162\151\160"
688 "\164\151\157\156\072\040\104\055\102\165\163\040\160\162\157\170"
689 "\171\040\164\157\040\141\143\143\145\163\163\040\103\157\155\160"
690 "\141\163\163\040\163\145\156\163\157\162\163\012\012\040\040\040"
691 "\040\040\040\101\146\164\145\162\040\143\150\145\143\153\151\156"
692 "\147\040\164\150\145\040\141\166\141\151\154\141\142\151\154\151"
693 "\164\171\040\157\146\040\164\150\145\040\163\145\156\163\157\162"
694 "\040\164\171\160\145\040\171\157\165\040\167\141\156\164\040\164"
695 "\157\040\155\157\156\151\164\157\162\054\012\040\040\040\040\040"
696 "\040\143\141\154\154\040\164\150\145\040\156\145\164\056\150\141"
697 "\144\145\163\163\056\123\145\156\163\157\162\120\162\157\170\171"
698 "\056\103\154\141\151\155\103\157\155\160\141\163\163\050\051\040"
699 "\155\145\164\150\157\144\040\164\157\040\163\164\141\162\164\040"
700 "\165\160\144\141\164\151\156\147\012\040\040\040\040\040\040\164"
701 "\150\145\040\160\162\157\160\145\162\164\151\145\163\040\146\162"
702 "\157\155\040\164\150\145\040\150\141\162\144\167\141\162\145\040"
703 "\162\145\141\144\151\156\147\163\056\012\012\040\040\040\040\040"
704 "\040\124\150\145\040\157\142\152\145\143\164\040\160\141\164\150"
705 "\040\167\151\154\154\040\142\145\040\042\057\156\145\164\057\150"
706 "\141\144\145\163\163\057\123\145\156\163\157\162\120\162\157\170"
707 "\171\057\103\157\155\160\141\163\163\042\056\012\040\040\055\055"
708 "\076\074\151\156\164\145\162\146\141\143\145\040\156\141\155\145"
709 "\075\042\156\145\164\056\150\141\144\145\163\163\056\123\145\156"
710 "\163\157\162\120\162\157\170\171\056\103\157\155\160\141\163\163"
711 "\042\076\074\041\055\055\012\040\040\040\040\040\040\040\040\110"
712 "\141\163\103\157\155\160\141\163\163\072\012\012\040\040\040\040"
713 "\040\040\040\040\127\150\145\164\150\145\162\040\141\040\163\165"
714 "\160\160\157\162\164\145\144\040\143\157\155\160\141\163\163\040"
715 "\151\163\040\160\162\145\163\145\156\164\040\157\156\040\164\150"
716 "\145\040\163\171\163\164\145\155\056\012\040\040\040\040\055\055"
717 "\076\074\160\162\157\160\145\162\164\171\040\156\141\155\145\075"
718 "\042\110\141\163\103\157\155\160\141\163\163\042\040\164\171\160"
719 "\145\075\042\142\042\040\141\143\143\145\163\163\075\042\162\145"
720 "\141\144\042\057\076\074\041\055\055\012\040\040\040\040\040\040"
721 "\040\040\103\157\155\160\141\163\163\110\145\141\144\151\156\147"
722 "\072\012\012\040\040\040\040\040\040\040\040\124\150\145\040\143"
723 "\157\155\160\141\163\163\040\150\145\141\144\151\156\147\040\151"
724 "\156\040\144\145\147\162\145\145\163\040\167\151\164\150\040\162"
725 "\145\163\160\145\143\164\040\164\157\040\155\141\147\156\145\164"
726 "\151\143\040\116\157\162\164\150\040\144\151\162\145\143\164\151"
727 "\157\156\054\040\151\156\012\040\040\040\040\040\040\040\040\143"
728 "\154\157\143\153\167\151\163\145\040\157\162\144\145\162\056\040"
729 "\124\150\141\164\040\155\145\141\156\163\040\116\157\162\164\150"
730 "\040\142\145\143\157\155\145\163\040\060\040\144\145\147\162\145"
731 "\145\054\040\105\141\163\164\072\040\071\060\040\144\145\147\162"
732 "\145\145\163\054\012\040\040\040\040\040\040\040\040\123\157\165"
733 "\164\150\072\040\061\070\060\040\144\145\147\162\145\145\163\054"
734 "\040\127\145\163\164\072\040\062\067\060\040\144\145\147\162\145"
735 "\145\163\040\141\156\144\040\163\157\040\157\156\056\040\127\150"
736 "\145\156\040\165\156\153\156\157\167\156\054\012\040\040\040\040"
737 "\040\040\040\040\151\164\047\163\040\163\145\164\040\164\157\040"
738 "\055\061\056\060\056\012\040\040\040\040\055\055\076\074\160\162"
739 "\157\160\145\162\164\171\040\156\141\155\145\075\042\103\157\155"
740 "\160\141\163\163\110\145\141\144\151\156\147\042\040\164\171\160"
741 "\145\075\042\144\042\040\141\143\143\145\163\163\075\042\162\145"
742 "\141\144\042\057\076\074\041\055\055\012\040\040\040\040\040\040"
743 "\040\103\154\141\151\155\103\157\155\160\141\163\163\072\012\012"
744 "\040\040\040\040\040\040\040\124\157\040\163\164\141\162\164\040"
745 "\162\145\143\145\151\166\151\156\147\040\143\157\155\160\141\163"
746 "\163\040\150\145\141\144\151\156\147\040\165\160\144\141\164\145"
747 "\163\040\146\162\157\155\040\164\150\145\040\160\162\157\170\171"
748 "\054\040\164\150\145\012\040\040\040\040\040\040\040\141\160\160"
749 "\154\151\143\141\164\151\157\156\040\155\165\163\164\040\143\141"
750 "\154\154\040\164\150\145\040\156\145\164\056\150\141\144\145\163"
751 "\163\056\123\145\156\163\157\162\120\162\157\170\171\056\103\154"
752 "\141\151\155\103\157\155\160\141\163\163\050\051\040\155\145\164"
753 "\150\157\144\056\040\111\164\040\143\141\156\040\144\157\040\163"
754 "\157\012\040\040\040\040\040\040\040\167\150\145\164\150\145\162"
755 "\040\141\040\143\157\155\160\141\163\163\040\151\163\040\141\166"
756 "\141\151\154\141\142\154\145\040\157\162\040\156\157\164\054\040"
757 "\165\160\144\141\164\145\163\040\167\157\165\154\144\040\164\150"
758 "\145\156\040\142\145\040\163\145\156\164\012\040\040\040\040\040"
759 "\040\040\167\150\145\156\040\163\165\143\150\040\141\040\163\145"
760 "\156\163\157\162\040\141\160\160\145\141\162\163\056\012\012\040"
761 "\040\040\040\040\040\040\101\160\160\154\151\143\141\164\151\157"
762 "\156\163\040\163\150\157\165\154\144\040\143\141\154\154\040\156"
763 "\145\164\056\150\141\144\145\163\163\056\123\145\156\163\157\162"
764 "\120\162\157\170\171\056\122\145\154\145\141\163\145\103\157\155"
765 "\160\141\163\163\050\051\040\167\150\145\156\040\162\145\141\144"
766 "\151\156\147\163\040\141\162\145\012\040\040\040\040\040\040\040"
767 "\156\157\164\040\162\145\161\165\151\162\145\144\040\141\156\171"
768 "\155\157\162\145\056\040\124\150\151\163\040\160\162\145\166\145"
769 "\156\164\163\040\164\150\145\040\163\145\156\163\157\162\040\160"
770 "\162\157\170\171\040\146\162\157\155\040\160\157\154\154\151\156"
771 "\147\040\164\150\145\040\144\145\166\151\143\145\054\040\164\150"
772 "\165\163\012\040\040\040\040\040\040\040\151\156\143\162\145\141"
773 "\163\151\156\147\040\167\141\153\145\055\165\160\163\040\141\156"
774 "\144\040\162\145\144\165\143\151\156\147\040\142\141\164\164\145"
775 "\162\171\040\154\151\146\145\056\012\012\040\040\040\040\040\040"
776 "\040\116\157\164\145\040\164\150\141\164\040\103\157\155\160\141"
777 "\163\163\040\151\156\146\157\162\155\141\164\151\157\156\040\151"
778 "\163\040\157\156\154\171\040\141\166\141\151\154\141\142\154\145"
779 "\040\164\157\040\107\145\157\143\154\165\145\040\142\171\040\144"
780 "\145\146\141\165\154\164\054\040\167\150\151\143\150\040\167\151"
781 "\154\154\012\040\040\040\040\040\040\040\160\162\157\170\171\040"
782 "\164\150\145\040\155\141\147\156\145\164\151\143\040\150\145\141"
783 "\144\151\156\147\040\151\156\146\157\162\155\141\164\151\157\156"
784 "\054\040\141\156\144\040\164\162\141\156\163\146\157\162\155\040"
785 "\151\164\040\164\157\040\124\162\165\145\040\116\157\162\164\150"
786 "\040\150\145\141\144\151\156\147\056\012\040\040\040\040\055\055"
787 "\076\074\155\145\164\150\157\144\040\156\141\155\145\075\042\103"
788 "\154\141\151\155\103\157\155\160\141\163\163\042\057\076\074\041"
789 "\055\055\012\040\040\040\040\040\040\040\040\122\145\154\145\141"
790 "\163\145\103\157\155\160\141\163\163\072\012\012\040\040\040\040"
791 "\040\040\040\040\124\150\151\163\040\163\150\157\165\154\144\040"
792 "\142\145\040\143\141\154\154\145\144\040\141\163\040\163\157\157"
793 "\156\040\141\163\040\162\145\141\144\151\156\147\163\040\141\162"
794 "\145\040\156\157\164\040\162\145\161\165\151\162\145\144\040\141"
795 "\156\171\155\157\162\145\056\040\116\157\164\145\012\040\040\040"
796 "\040\040\040\040\040\164\150\141\164\040\162\145\163\157\165\162"
797 "\143\145\163\040\141\162\145\040\146\162\145\145\144\040\165\160"
798 "\040\151\146\040\141\040\155\157\156\151\164\157\162\151\156\147"
799 "\040\141\160\160\154\151\143\141\164\151\157\156\040\145\170\151"
800 "\164\163\040\167\151\164\150\157\165\164\012\040\040\040\040\040"
801 "\040\040\040\143\141\154\154\151\156\147\040\156\145\164\056\150"
802 "\141\144\145\163\163\056\123\145\156\163\157\162\120\162\157\170"
803 "\171\056\122\145\154\145\141\163\145\103\157\155\160\141\163\163"
804 "\050\051\054\040\143\162\141\163\150\145\163\040\157\162\040\164"
805 "\150\145\040\163\145\156\163\157\162\040\144\151\163\141\160\160"
806 "\145\141\162\163\056\012\040\040\040\040\055\055\076\074\155\145"
807 "\164\150\157\144\040\156\141\155\145\075\042\122\145\154\145\141"
808 "\163\145\103\157\155\160\141\163\163\042\057\076\074\057\151\156"
809 "\164\145\162\146\141\143\145\076\074\057\156\157\144\145\076\012"
810 "\000\000\050\165\165\141\171\051\150\141\144\145\163\163\057\000"
811 "\004\000\000\000\123\145\156\163\157\162\120\162\157\170\171\057"
812 "\002\000\000\000" };
813 #endif /* !_MSC_VER */
814
815 static GStaticResource static_resource = { iio_sensor_proxy_resource_data.data, sizeof (iio_sensor_proxy_resource_data.data) - 1 /* nul terminator */, NULL, NULL, NULL };
811816 extern GResource *iio_sensor_proxy_get_resource (void);
812817 GResource *iio_sensor_proxy_get_resource (void)
813818 {
6666 g_print (" Compass heading changed: %lf\n", g_variant_get_double (v));
6767 g_variant_unref (v);
6868 }
69
70 g_variant_dict_clear (&dict);
6971 }
7072
7173 static void
127129 gpointer user_data)
128130 {
129131 GError *error = NULL;
132 GVariant *ret = NULL;
130133
131134 g_print ("+++ iio-sensor-proxy appeared\n");
132135
155158 }
156159
157160 /* Accelerometer */
158 g_dbus_proxy_call_sync (iio_proxy,
159 "ClaimAccelerometer",
160 NULL,
161 G_DBUS_CALL_FLAGS_NONE,
162 -1,
163 NULL, &error);
164 g_assert_no_error (error);
161 ret = g_dbus_proxy_call_sync (iio_proxy,
162 "ClaimAccelerometer",
163 NULL,
164 G_DBUS_CALL_FLAGS_NONE,
165 -1,
166 NULL, &error);
167 if (!ret) {
168 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
169 g_warning ("Failed to claim accelerometer: %s", error->message);
170 g_main_loop_quit (loop);
171 return;
172 }
173 g_clear_pointer (&ret, g_variant_unref);
165174
166175 /* ALS */
167 g_dbus_proxy_call_sync (iio_proxy,
168 "ClaimLight",
169 NULL,
170 G_DBUS_CALL_FLAGS_NONE,
171 -1,
172 NULL, &error);
173 g_assert_no_error (error);
176 ret = g_dbus_proxy_call_sync (iio_proxy,
177 "ClaimLight",
178 NULL,
179 G_DBUS_CALL_FLAGS_NONE,
180 -1,
181 NULL, &error);
182 if (!ret) {
183 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
184 g_warning ("Failed to claim light sensor: %s", error->message);
185 g_main_loop_quit (loop);
186 return;
187 }
188 g_clear_pointer (&ret, g_variant_unref);
174189
175190 /* Compass */
176191 if (g_strcmp0 (g_get_user_name (), "geoclue") == 0) {
177 g_dbus_proxy_call_sync (iio_proxy_compass,
178 "ClaimCompass",
179 NULL,
180 G_DBUS_CALL_FLAGS_NONE,
181 -1,
182 NULL, &error);
183 g_assert_no_error (error);
192 ret = g_dbus_proxy_call_sync (iio_proxy_compass,
193 "ClaimCompass",
194 NULL,
195 G_DBUS_CALL_FLAGS_NONE,
196 -1,
197 NULL, &error);
198 if (!ret) {
199 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
200 g_warning ("Failed to claim light sensor: %s", error->message);
201 g_main_loop_quit (loop);
202 return;
203 }
204 g_clear_pointer (&ret, g_variant_unref);
184205 }
185206
186207 print_initial_values ();
6464 int in_x, int in_y, int in_z,
6565 gdouble scale)
6666 {
67 int rotation;
6867 OrientationUp ret = prev;
6968 int x, y, z;
69 int portrait_rotation;
70 int landscape_rotation;
7071
7172 /* this code expects 1G ~= 256 */
7273 x = SCALE(in_x);
7374 y = SCALE(in_y);
7475 z = SCALE(in_z);
7576
77 portrait_rotation = round(atan2(x, sqrt(y * y + z * z)) * RADIANS_TO_DEGREES);
78 landscape_rotation = round(atan2(y, sqrt(x * x + z * z)) * RADIANS_TO_DEGREES);
79
80 /* Don't change orientation if we are on the common border of two thresholds */
81 if (abs(portrait_rotation) > THRESHOLD_PORTRAIT && abs(landscape_rotation) > THRESHOLD_LANDSCAPE)
82 return prev;
83
7684 /* Portrait check */
77 rotation = round(atan((double) x / sqrt(y * y + z * z)) * RADIANS_TO_DEGREES);
78
79 if (abs(rotation) > THRESHOLD_PORTRAIT) {
80 ret = (rotation > 0) ? ORIENTATION_LEFT_UP : ORIENTATION_RIGHT_UP;
85 if (abs(portrait_rotation) > THRESHOLD_PORTRAIT) {
86 ret = (portrait_rotation > 0) ? ORIENTATION_LEFT_UP : ORIENTATION_RIGHT_UP;
8187
8288 /* Some threshold to switching between portrait modes */
8389 if (prev == ORIENTATION_LEFT_UP || prev == ORIENTATION_RIGHT_UP) {
84 if (abs(rotation) < SAME_AXIS_LIMIT) {
90 if (abs(portrait_rotation) < SAME_AXIS_LIMIT) {
8591 ret = prev;
8692 }
8793 }
8894
8995 } else {
9096 /* Landscape check */
91 rotation = round(atan((double) y / sqrt(x * x + z * z)) * RADIANS_TO_DEGREES);
92
93 if (abs(rotation) > THRESHOLD_LANDSCAPE) {
94 ret = (rotation > 0) ? ORIENTATION_BOTTOM_UP : ORIENTATION_NORMAL;
97 if (abs(landscape_rotation) > THRESHOLD_LANDSCAPE) {
98 ret = (landscape_rotation > 0) ? ORIENTATION_BOTTOM_UP : ORIENTATION_NORMAL;
9599
96100 /* Some threshold to switching between landscape modes */
97101 if (prev == ORIENTATION_BOTTOM_UP || prev == ORIENTATION_NORMAL) {
98 if (abs(rotation) < SAME_AXIS_LIMIT) {
102 if (abs(landscape_rotation) < SAME_AXIS_LIMIT) {
99103 ret = prev;
100104 }
101105 }
0 /*
1 * Copyright (c) 2019 Luís Ferreira <luis@aurorafoss.org>
2 *
3 * This program is free software; you can redistribute it and/or modify it
4 * under the terms of the GNU General Public License version 3 as published by
5 * the Free Software Foundation.
6 *
7 */
8
9 #include "accel-location.h"
10
11 #define VALID_DISPLAY_LOCATION "display"
12 #define VALID_BASE_LOCATION "base"
13 #define INVALID_LOCATION "invalid"
14
15 static void
16 test_accel_location (void)
17 {
18 AccelLocation location;
19
20 /* display location */
21 g_assert_true (parse_accel_location (VALID_DISPLAY_LOCATION, &location));
22 g_assert_true (location == ACCEL_LOCATION_DISPLAY);
23
24 /* base location */
25 g_assert_true (parse_accel_location (VALID_BASE_LOCATION, &location));
26 g_assert_true (location == ACCEL_LOCATION_BASE);
27
28 /* default location (display) */
29 g_assert_true (parse_accel_location ("", &location));
30 g_assert_true (location == ACCEL_LOCATION_DISPLAY);
31
32 /* Invalid matrix */
33 g_test_expect_message (NULL, G_LOG_LEVEL_WARNING, "Failed to parse 'invalid' as a location");
34 g_assert_false (parse_accel_location (INVALID_LOCATION, &location));
35 g_test_assert_expected_messages ();
36 }
37
38 int main (int argc, char **argv)
39 {
40 g_test_init (&argc, &argv, NULL);
41
42 g_test_add_func ("/iio-sensor-proxy/accel-location", test_accel_location);
43
44 return g_test_run ();
45 }
99 #include "accel-mount-matrix.h"
1010
1111 #define SWAP_Y_Z_MATRIX "1, 0, 0; 0, 0, 1; 0, 1, 0"
12 #define INVALID_MATRIX "0, 1, 0; 1, 0, 0; 0, 0, 0"
1213
1314 static void
1415 print_vecs (AccelVec3 vecs[3])
1516 {
1617 g_test_message ("%f, %f, %f; %f, %f, %f; %f, %f, %f",
17 vecs[0].x, vecs[0].y, vecs[0].z,
18 vecs[1].x, vecs[1].y, vecs[1].z,
19 vecs[2].x, vecs[2].y, vecs[2].z);
18 (double) vecs[0].x, (double) vecs[0].y, (double) vecs[0].z,
19 (double) vecs[1].x, (double) vecs[1].y, (double) vecs[1].z,
20 (double) vecs[2].x, (double) vecs[2].y, (double) vecs[2].z);
2021 }
2122
2223 static void
5253 g_assert_cmpfloat (test.z, ==, 0.0);
5354 g_assert_cmpfloat (test.y, ==, -256.0);
5455 g_free (vecs);
56
57 /* Invalid matrix */
58 g_test_expect_message (NULL, G_LOG_LEVEL_WARNING, "In mount matrix '0, 1, 0; 1, 0, 0; 0, 0, 0', axis z is all zeroes, which is invalid");
59 g_assert_false (parse_mount_matrix (INVALID_MATRIX, &vecs));
60 g_test_assert_expected_messages ();
5561 }
5662
5763 int main (int argc, char **argv)
3232 int main (int argc, char **argv)
3333 {
3434 GtkWidget *window;
35 GtkWidget *box;
35 GtkWidget *grid;
3636
3737 gtk_init (&argc, &argv);
3838
4646 gtk_spin_button_set_value (GTK_SPIN_BUTTON (scale_y), ONEG);
4747 gtk_spin_button_set_value (GTK_SPIN_BUTTON (scale_z), 0.0);
4848
49 box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
50 gtk_container_add (GTK_CONTAINER (window), box);
49 grid = gtk_grid_new ();
50 g_object_set (G_OBJECT (grid),
51 "column-spacing", 12,
52 "row-spacing", 12,
53 NULL);
54 gtk_container_add (GTK_CONTAINER (window), grid);
5155
52 gtk_container_add (GTK_CONTAINER (box), scale_x);
53 gtk_container_add (GTK_CONTAINER (box), scale_y);
54 gtk_container_add (GTK_CONTAINER (box), scale_z);
56 gtk_grid_attach (GTK_GRID (grid), gtk_label_new ("X:"),
57 0, 0, 1, 1);
58 gtk_grid_attach (GTK_GRID (grid), gtk_label_new ("Y:"),
59 0, 1, 1, 1);
60 gtk_grid_attach (GTK_GRID (grid), gtk_label_new ("Z:"),
61 0, 2, 1, 1);
62 gtk_grid_attach (GTK_GRID (grid), scale_x,
63 1, 0, 1, 1);
64 gtk_grid_attach (GTK_GRID (grid), scale_y,
65 1, 1, 1, 1);
66 gtk_grid_attach (GTK_GRID (grid), scale_z,
67 1, 2, 1, 1);
5568
5669 g_signal_connect (G_OBJECT (scale_x), "value-changed",
5770 G_CALLBACK (value_changed), NULL);
6174 G_CALLBACK (value_changed), NULL);
6275
6376 label = gtk_label_new ("");
64 gtk_container_add (GTK_CONTAINER (box), label);
77 gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 2, 1);
6578
6679 value_changed (NULL, NULL);
6780
4242 9.81 / ONEG);
4343 result = orientation_to_string (o);
4444 expected = orientation_to_string (orientations[i].expected);
45 /* Fail straight away when verbose */
45 /* Fail straight away when not verbose */
4646 if (g_test_verbose ()) {
4747 if (g_strcmp0 (result, expected) != 0) {
4848 g_test_message ("Expected %s, got %s", expected, result);
5151 } else {
5252 g_assert_cmpstr (result, ==, expected);
5353 }
54 }
55
56 if (num_failures > 0)
57 g_test_fail ();
58 }
59
60 static void
61 test_orientation_threshold (void)
62 {
63 static struct {
64 int x;
65 int y;
66 int z;
67 OrientationUp expected;
68 } orientations[] = {
69 { 0, -ONEG, 0, ORIENTATION_NORMAL },
70 { 183, -ONEG, 0, ORIENTATION_NORMAL },
71 { 176, -ONEG, 0, ORIENTATION_NORMAL },
72 { 183, -ONEG, 0, ORIENTATION_NORMAL },
73 };
74 guint i, num_failures;
75 OrientationUp prev;
76
77 num_failures = 0;
78 prev = ORIENTATION_UNDEFINED;
79
80 for (i = 0; i < G_N_ELEMENTS (orientations); i++) {
81 OrientationUp o;
82 const char *expected, *result;
83
84 o = orientation_calc (prev,
85 orientations[i].x,
86 orientations[i].y,
87 orientations[i].z,
88 9.81 / ONEG);
89 result = orientation_to_string (o);
90 expected = orientation_to_string (orientations[i].expected);
91 /* Fail straight away when not verbose */
92 if (g_test_verbose ()) {
93 if (g_strcmp0 (result, expected) != 0) {
94 g_test_message ("Expected %s, got %s (orientation #%d)", expected, result, i);
95 num_failures++;
96 }
97 } else {
98 g_assert_cmpstr (result, ==, expected);
99 }
100 g_assert_cmpstr (result, ==, expected);
101 prev = orientations[i].expected;
54102 }
55103
56104 if (num_failures > 0)
68116 OrientationUp expected;
69117 } tests[] = {
70118 /* Onda v975 quirking */
71 { { 523, 13, 5 }, 0.019163, "0, -1, 0; -1, 0, 0; 0, 0, 0", ORIENTATION_NORMAL },
72 { { 8, 521, -67 }, 0.019163, "0, -1, 0; -1, 0, 0; 0, 0, 0", ORIENTATION_RIGHT_UP },
119 { { 523, 13, 5 }, 0.019163, "0, -1, 0; -1, 0, 0; 0, 0, 1", ORIENTATION_NORMAL },
120 { { 8, 521, -67 }, 0.019163, "0, -1, 0; -1, 0, 0; 0, 0, 1", ORIENTATION_RIGHT_UP },
73121 /* Winbook TW100 quirking */
74 { { 24, 0, -21 }, 0.306457, "0, -1, 0; -1, 0, 0; 0, 0, 0", ORIENTATION_NORMAL },
75 { { 15, -25, -14 }, 0.306457, "0, -1, 0; -1, 0, 0; 0, 0, 0", ORIENTATION_LEFT_UP }
122 { { 24, 0, -21 }, 0.306457, "0, -1, 0; -1, 0, 0; 0, 0, 1", ORIENTATION_NORMAL },
123 { { 15, -25, -14 }, 0.306457, "0, -1, 0; -1, 0, 0; 0, 0, 1", ORIENTATION_LEFT_UP }
76124 };
77125
78126 for (i = 0; i < G_N_ELEMENTS (tests); i++) {
170218
171219 g_test_add_func ("/iio-sensor-proxy/orientation", test_orientation);
172220 g_test_add_func ("/iio-sensor-proxy/quirking", test_mount_matrix_orientation);
221 g_test_add_func ("/iio-sensor-proxy/threshold", test_orientation_threshold);
173222
174223 return g_test_run ();
175224 }