Codebase list gst-python1.0 / 4ab59a0
New upstream version 1.14.2 Sebastian Dröge 5 years ago
10 changed file(s) with 997 addition(s) and 727 deletion(s). Raw diff Collapse all Expand all
0 === release 1.14.2 ===
1
2 2018-07-20 01:08:03 +0100 Tim-Philipp Müller <tim@centricular.com>
3
4 * ChangeLog:
5 * NEWS:
6 * RELEASE:
7 * configure.ac:
8 * gst-python.doap:
9 * meson.build:
10 Release 1.14.2
11
012 === release 1.14.1 ===
113
214 2018-05-17 13:35:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+236
-148
NEWS less more
8686 applications that set up connections with and stream to and from other
8787 WebRTC peers, whilst leveraging all of the usual GStreamer features such
8888 as hardware-accelerated encoding and decoding, OpenGL integration,
89 zero-copy and embedded platform support. And it's easy to build and
89 zero-copy and embedded platform support. And it’s easy to build and
9090 integrate into your application too!
9191
9292 WebRTC enables real-time communication of audio, video and data with web
9393 browsers and native apps, and it is supported or about to be support by
9494 recent versions of all major browsers and operating systems.
9595
96 GStreamer's new WebRTC implementation uses libnice for Interactive
96 GStreamer’s new WebRTC implementation uses libnice for Interactive
9797 Connectivity Establishment (ICE) to figure out the best way to
9898 communicate with other peers, punch holes into firewalls, and traverse
9999 NATs.
103103 functionality is missing it should be fairly obvious where it needs to
104104 go.
105105
106 For more details, background and example code, check out Nirbheek's blog
107 post _GStreamer has grown a WebRTC implementation_, as well as Matthew's
108 _GStreamer WebRTC_ talk from last year's GStreamer Conference in Prague.
106 For more details, background and example code, check out Nirbheek’s blog
107 post _GStreamer has grown a WebRTC implementation_, as well as Matthew’s
108 _GStreamer WebRTC_ talk from last year’s GStreamer Conference in Prague.
109109
110110 New Elements
111111
116116 (SRT) video streaming protocol, which aims to be easy to use whilst
117117 striking a new balance between reliability and latency for low
118118 latency video streaming use cases. More details about SRT and the
119 implementation in GStreamer in Olivier's blog post _SRT in
119 implementation in GStreamer in Olivier’s blog post _SRT in
120120 GStreamer_.
121121
122122 - av1enc and av1dec elements providing experimental support for the
137137 GStreamer-internal latency as well as latency added by external
138138 components or circuits.
139139
140 - 'fakevideosink is basically a null sink for video data and very
140 - ’fakevideosink is basically a null sink for video data and very
141141 similar to fakesink, only that it will answer allocation queries and
142142 will advertise support for various video-specific things such
143143 GstVideoMeta, GstVideoCropMeta and GstVideoOverlayCompositionMeta
148148 multiple processes. Usually a GStreamer pipeline runs in a single
149149 process and parallelism is achieved by distributing workloads using
150150 multiple threads. This means that all elements in the pipeline have
151 access to all the other elements' memory space however, including
151 access to all the other elements’ memory space however, including
152152 that of any libraries used. For security reasons one might therefore
153153 want to put sensitive parts of a pipeline such as DRM and decryption
154154 handling into a separate process to isolate it from the rest of the
155155 pipeline. This can now be achieved with the new ipcpipeline plugin.
156 Check out George's blog post _ipcpipeline: Splitting a GStreamer
156 Check out George’s blog post _ipcpipeline: Splitting a GStreamer
157157 pipeline into multiple processes_ or his lightning talk from last
158 year's GStreamer Conference in Prague for all the gory details.
158 year’s GStreamer Conference in Prague for all the gory details.
159159
160160 - proxysink and proxysrc are new elements to pass data from one
161161 pipeline to another within the same process, very similar to the
162162 existing inter elements, but not limited to raw audio and video
163163 data. These new proxy elements are very special in how they work
164164 under the hood, which makes them extremely powerful, but also
165 dangerous if not used with care. The reason for this is that it's
166 not just data that's passed from sink to src, but these elements
165 dangerous if not used with care. The reason for this is that it’s
166 not just data that’s passed from sink to src, but these elements
167167 basically establish a two-way wormhole that passes through queries
168168 and events in both directions, which means caps negotiation and
169169 allocation query driven zero-copy can work through this wormhole.
172172 streaming thread. There is a queue element inside proxysrc to
173173 decouple the source thread from the sink thread, but that queue is
174174 not unlimited, so it is entirely possible that the proxysink
175 pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
175 pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
176176 pipeline is paused or stops consuming data for some other reason.
177177 This means that one should always shut down down the proxysrc
178178 pipeline before shutting down the proxysink pipeline, for example.
179179 Or at least take care when shutting down pipelines. Usually this is
180180 not a problem though, especially not in live pipelines. For more
181 information see Nirbheek's blog post _Decoupling GStreamer
181 information see Nirbheek’s blog post _Decoupling GStreamer
182182 Pipelines_, and also check out out the new ipcpipeline plugin for
183183 sending data from one process to another process (see above).
184184
203203 in the GStreamer WebRTC implementation.
204204
205205 - GstReferenceTimestampMeta is a new meta that allows you to attach
206 additional reference timestamps to a buffer. These timestamps don't
206 additional reference timestamps to a buffer. These timestamps don’t
207207 have to relate to the pipeline clock in any way. Examples of this
208208 could be an NTP timestamp when the media was captured, a frame
209209 counter on the capture side or the (local) UNIX timestamp when the
210210 media was captured. The decklink elements make use of this.
211211
212 - GstVideoRegionOfInterestMeta: it's now possible to attach generic
212 - GstVideoRegionOfInterestMeta: it’s now possible to attach generic
213213 free-form element-specific parameters to a region of interest meta,
214214 for example to tell a downstream encoder to use certain codec
215215 parameters for a certain region.
246246
247247 - GstAudioStreamAlign is a new helper object for audio elements that
248248 handles discontinuity detection and sample alignment. It will align
249 samples after the previous buffer's samples, but keep track of the
249 samples after the previous buffer’s samples, but keep track of the
250250 divergence between buffer timestamps and sample position (jitter).
251251 If it exceeds a configurable threshold the alignment will be reset.
252252 This simply factors out code that was duplicated in a number of
266266 installing and handling a "render-rectangle" property on elements
267267 that implement this interface, so that this functionality can also
268268 be used from the command line for testing and debugging purposes.
269 The property wasn't added to the interface itself as that would
269 The property wasn’t added to the interface itself as that would
270270 require all implementors to provide it which would not be
271271 backwards-compatible.
272272
279279 element is based on this.
280280
281281 - Full list of API new in 1.14:
282 - GStreamer core API new in 1.14
283 - GStreamer base library API new in 1.14
284 - gst-plugins-base libraries API new in 1.14
285 - gst-plugins-bad: no list, mostly GstWebRTC library and new
286 non-stream audio decoder base class.
282 - GStreamer core API new in 1.14
283 - GStreamer base library API new in 1.14
284 - gst-plugins-base libraries API new in 1.14
285 - gst-plugins-bad: no list, mostly GstWebRTC library and new
286 non-stream audio decoder base class.
287287
288288 New RTP features and improvements
289289
300300 packet loss using _retransmission (rtx)_. GStreamer has had
301301 retransmission support for a long time, but Forward Error Correction
302302 allows for different trade-offs: The advantage of Forward Error
303 Correction is that it doesn't add latency, whereas retransmission
303 Correction is that it doesn’t add latency, whereas retransmission
304304 requires at least one more roundtrip to request and hopefully
305305 receive lost packets; Forward Error Correction increases the
306306 required bandwidth however, even in situations where there is no
316316
317317 - a few new buffer flags for FEC support:
318318 GST_BUFFER_FLAG_NON_DROPPABLE can be used to mark important buffers,
319 e.g. to flag RTP packets carrying keyframes or codec setup data for
319 e.g. to flag RTP packets carrying keyframes or codec setup data for
320320 RTP Forward Error Correction purposes, or to prevent still video
321321 frames from being dropped by elements due to QoS. There already is a
322322 GST_BUFFER_FLAG_DROPPABLE. GST_RTP_BUFFER_FLAG_REDUNDANT is used to
336336 - rtpjitterbuffer has a new fast start mode: in many scenarios the
337337 jitter buffer will have to wait for the full configured latency
338338 before it can start outputting packets. The reason for that is that
339 it often can't know what the sequence number of the first expected
340 RTP packet is, so it can't know whether a packet earlier than the
339 it often can’t know what the sequence number of the first expected
340 RTP packet is, so it can’t know whether a packet earlier than the
341341 earliest packet received will still arrive in future. This behaviour
342342 can now be bypassed by setting the "faststart-min-packets" property
343343 to the number of consecutive packets needed to start, and the jitter
366366 - tee now does allocation query aggregation, which is important for
367367 zero-copy and efficient data handling, especially for video. Those
368368 who want to drop allocation queries on purpose can use the identity
369 element's new "drop-allocation" property for that instead.
369 element’s new "drop-allocation" property for that instead.
370370
371371 - audioconvert now has a "mix-matrix" property, which obsoletes the
372 audiomixmatrix element. There's also mix matrix support in the audio
372 audiomixmatrix element. There’s also mix matrix support in the audio
373373 conversion and channel mixing API.
374374
375375 - x264enc: new "insert-vui" property to disable VUI (Video Usability
408408
409409 - rtspsrc now has support for RTSP protocol version 2.0 as well as
410410 ONVIF audio backchannels (see below for more details). It also
411 sports a new "accept-certificate" signal for "manually" checking a
411 sports a new "accept-certificate" signal for “manually” checking a
412412 TLS certificate for validity. It now also prints RTSP/SDP messages
413413 to the gstreamer debug log instead of stdout.
414414
417417
418418 - splitmuxsink has gained a "split-now" action signal and new
419419 "alignment-threshold" and "use-robust-muxing" properties. If robust
420 muxing is enabled, it will check and set the muxer's reserved space
421 properties if present. This is primarily for use with mp4mux's
420 muxing is enabled, it will check and set the muxer’s reserved space
421 properties if present. This is primarily for use with mp4mux’s
422422 robust muxing mode.
423423
424424 - qtmux has a new _prefill recording mode_ which sets up a moov header
442442 This allows for connection reuse, cookie sharing, etc. Applications
443443 can also force a context to use. In other news, HTTP headers
444444 received from the server are posted as element messages on the bus
445 now for easier diagnostics, and it's also possible now to use other
445 now for easier diagnostics, and it’s also possible now to use other
446446 types of proxy servers such as SOCKS4 or SOCKS5 proxies, support for
447447 which is implemented directly in gio. Before only HTTP proxies were
448448 allowed.
449449
450450 - qtmux, mp4mux and matroskamux will now refuse caps changes of input
451 streams at runtime. This isn't really supported with these
451 streams at runtime. This isn’t really supported with these
452452 containers (or would have to be implemented differently with a
453 considerable effort) and doesn't produce valid and spec-compliant
454 files that will play everywhere. So if you can't guarantee that the
455 input caps won't change, use a container format that does support on
453 considerable effort) and doesn’t produce valid and spec-compliant
454 files that will play everywhere. So if you can’t guarantee that the
455 input caps won’t change, use a container format that does support on
456456 the fly caps changes for a stream such as MPEG-TS or use
457457 splitmuxsink which can start a new file when the caps change. What
458458 would happen before is that e.g. rtph264depay or rtph265depay would
459459 simply send new SPS/PPS inband even for AVC format, which would then
460460 get muxed into the container as if nothing changed. Some decoders
461 will handle this just fine, but that's often more luck than by
462 design. In any case, it's not right, so we disallow it now.
461 will handle this just fine, but that’s often more luck than by
462 design. In any case, it’s not right, so we disallow it now.
463463
464464 - matroskamux has Table of Content (TOC) support now (chapters etc.)
465465 and matroskademux TOC support has been improved. matroskademux has
474474
475475 - The avwait element has a new "end-timecode" property and posts
476476 "avwait-status" element messages now whenever avwait starts or stops
477 passing through data (e.g. because target-timecode and end-timecode
477 passing through data (e.g. because target-timecode and end-timecode
478478 respectively have been reached).
479479
480 - 'alsamidisrc' element has been broken for many many years and has
480 - ‘alsamidisrc’ element has been broken for many many years and has
481481 now been repaired allowing live capture from your MIDI HW.
482482
483483 - h265parse and h265parse will try harder to make upstream output the
499499
500500 - The NVIDIA NVENC hardware-accelerated video encoders now support
501501 dynamic bitrate and preset reconfiguration and support the I420
502 4:2:0 video format. It's also possible to configure the gop size via
502 4:2:0 video format. It’s also possible to configure the gop size via
503503 the new "gop-size" property.
504504
505505 - The MPEG-TS muxer and demuxer (tsmux, tsdemux) now have support for
514514 - The decklink plugin for Blackmagic capture and playback cards have
515515 seen numerous improvements:
516516
517 - decklinkaudiosrc and decklinkvideosrc now put hardware reference
518 timestamp on buffers in form of GstReferenceTimestampMetas.
519 This can be useful to know on multi-channel cards which frames from
520 different channels were captured at the same time.
521
522 - decklinkvideosink has gained support for Decklink hardware keying
523 with two new properties ("keyer-mode" and "keyer-level") to control
524 the built-in hardware keyer of Decklink cards.
525
526 - decklinkaudiosink has been re-implemented around GstBaseSink instead
527 of the GstAudioBaseSink base class, since the Decklink APIs don't
528 fit very well with the GstAudioBaseSink APIs, which used to cause
529 various problems due to inaccuracies in the clock calculations.
530 Problems were audio drop-outs and A/V sync going wrong after
531 pausing/seeking.
532
533 - support for more than 16 devices, without any artificial limit
534
535 - work continued on the msdk plugin for Intel's Media SDK which
517 - decklinkaudiosrc and decklinkvideosrc now put hardware reference
518 timestamp on buffers in form of GstReferenceTimestampMetas.
519 This can be useful to know on multi-channel cards which frames
520 from different channels were captured at the same time.
521
522 - decklinkvideosink has gained support for Decklink hardware
523 keying with two new properties ("keyer-mode" and "keyer-level")
524 to control the built-in hardware keyer of Decklink cards.
525
526 - decklinkaudiosink has been re-implemented around GstBaseSink
527 instead of the GstAudioBaseSink base class, since the Decklink
528 APIs don’t fit very well with the GstAudioBaseSink APIs, which
529 used to cause various problems due to inaccuracies in the clock
530 calculations. Problems were audio drop-outs and A/V sync going
531 wrong after pausing/seeking.
532
533 - support for more than 16 devices, without any artificial limit
534
535 - work continued on the msdk plugin for Intel’s Media SDK which
536536 enables hardware-accelerated video encoding and decoding on Intel
537537 graphics hardware on Windows or Linux. Added the video memory,
538538 buffer pool, and context/session sharing support which helps to
551551 streams, meaning it can do fast-forward/fast-rewind of normal (non-I
552552 frame only) streams even at high speeds without saturating network
553553 bandwidth or exceeding decoder capabilities. It will keep statistics
554 and skip keyframes or fragments as needed. See Sebastian's blog post
554 and skip keyframes or fragments as needed. See Sebastian’s blog post
555555 _DASH trick-mode playback in GStreamer_ for more details. It also
556556 supports webvtt subtitle streams now and has seen improvements when
557557 seeking in live streams.
559559 - kmssink has seen lots of fixes and improvements in this cycle,
560560 including:
561561
562 - Raspberry Pi (vc4) and Xilinx DRM driver support
563
564 - new "render-rectangle" property that can be used from the command
565 line as well as "display-width" and "display-height", and
566 "can-scale" properties
567
568 - GstVideoCropMeta support
562 - Raspberry Pi (vc4) and Xilinx DRM driver support
563
564 - new "render-rectangle" property that can be used from the
565 command line as well as "display-width" and "display-height",
566 and "can-scale" properties
567
568 - GstVideoCropMeta support
569569
570570 Plugin and library moves
571571
595595 It improves upon the existing GstCollectPads API in that it is a proper
596596 base class which was also designed with live streaming in mind.
597597 GstAggregator subclasses will operate in a mode with defined latency if
598 any of the inputs are live streams. This ensures that the pipeline won't
598 any of the inputs are live streams. This ensures that the pipeline won’t
599599 stall if any of the inputs stop producing data, and that the configured
600600 maximum latency is never exceeded.
601601
603603
604604 GstAudioAggregator is a new base class for raw audio mixers and muxers
605605 and is based on GstAggregator (see above). It provides defined-latency
606 mixing of raw audio inputs and ensures that the pipeline won't stall
606 mixing of raw audio inputs and ensures that the pipeline won’t stall
607607 even if one of the input streams stops producing data.
608608
609609 As part of the move to stabilise the API there were some last-minute API
610610 changes and clean-ups, but those should mostly affect internal elements.
611611
612612 It is used by the audiomixer element, which is a replacement for
613 'adder', which did not handle live inputs very well and did not align
613 ‘adder’, which did not handle live inputs very well and did not align
614614 input streams according to running time. audiomixer should behave much
615615 better in that respect and generally behave as one would expected in
616616 most scenarios.
617617
618 Similarly, audiointerleave replaces the 'interleave' element which did
618 Similarly, audiointerleave replaces the ‘interleave’ element which did
619619 not handle live inputs or non-aligned inputs very robustly.
620620
621621 GstAudioAggregator and its subclases have gained support for input
624624 handled correctly.
625625
626626 We hope to move the video equivalents (GstVideoAggregator and
627 compositor) to -base in the next cycle, i.e. for 1.16.
627 compositor) to -base in the next cycle, i.e. for 1.16.
628628
629629 GStreamer OpenGL integration library and plugin moved from -bad to -base
630630
645645 qmlglsink video sink element as well as a qmlglsrc element. qmlglsink
646646 renders video into a QQuickItem, and qmlglsrc captures a window from a
647647 QML view and feeds it as video into a pipeline for further processing.
648 Both elements leverage GStreamer's OpenGL integration. In addition to
648 Both elements leverage GStreamer’s OpenGL integration. In addition to
649649 the move to -good the following features were added:
650650
651651 - A proxy object is now used for thread-safe access to the QML widget
653653 video widget at any time, so without this we might be left with a
654654 dangling pointer.
655655
656 - EGL is now supported with the X11 backend, which works e.g. on
656 - EGL is now supported with the X11 backend, which works e.g. on
657657 Freescale imx6
658658
659659 The GTK+ plugin has also moved from -bad to -good. It includes gtksink
660660 and gtkglsink which both render video into a GtkWidget. gtksink uses
661661 Cairo for rendering the video, which will work everywhere in all
662662 scenarios but involves an extra memory copy, whereas gtkglsink fully
663 leverages GStreamer's OpenGL integration, but might not work properly in
664 all scenarios, e.g. where the OpenGL driver does not properly support
663 leverages GStreamer’s OpenGL integration, but might not work properly in
664 all scenarios, e.g. where the OpenGL driver does not properly support
665665 multiple sharing contexts in different threads; on Linux Nouveau is
666 known to be broken in this respect, whilst NVIDIA's proprietary drivers
666 known to be broken in this respect, whilst NVIDIA’s proprietary drivers
667667 and most other drivers generally work fine, and the experience with
668 Intel's driver seems to be mixed; some proprietary embedded Linux
669 drivers don't work; macOS works.
668 Intel’s driver seems to be mixed; some proprietary embedded Linux
669 drivers don’t work; macOS works.
670670
671671 GstPhysMemoryAllocator interface moved from -bad to -base
672672
675675
676676 Plugin removals
677677
678 - the sunaudio plugin was removed, since it couldn't ever have been
678 - the sunaudio plugin was removed, since it couldn’t ever have been
679679 built or used with GStreamer 1.0, but no one even noticed in all
680680 these years.
681681
682682 - the schroedinger-based Dirac encoder/decoder plugin has been
683683 removed, as there is no longer any upstream or anyone else
684 maintaining it. Seeing that it's quite a fringe codec it seemed best
684 maintaining it. Seeing that it’s quite a fringe codec it seemed best
685685 to simply remove it.
686686
687687 API removals
695695
696696 - The video support library has gained support for a few new pixel
697697 formats:
698 - NV16_10LE32: 10-bit variant of NV16, packed into 32bit words (plus 2
699 bits padding)
700 - NV12_10LE32: 10-bit variant of NV12, packed into 32bit words (plus 2
701 bits padding)
702 - GRAY10_LE32: 10-bit grayscale, packed in 32bit words (plus 2 bits
703 padding)
704
698 - NV16_10LE32: 10-bit variant of NV16, packed into 32bit words
699 (plus 2 bits padding)
700 - NV12_10LE32: 10-bit variant of NV12, packed into 32bit words
701 (plus 2 bits padding)
702 - GRAY10_LE32: 10-bit grayscale, packed in 32bit words (plus 2
703 bits padding)
705704 - decodebin, playbin and GstDiscoverer have seen stability
706705 improvements in corner cases such as shutdown while still starting
707706 up or shutdown in error cases (hat tip to the oss-fuzz project).
708707
709708 - floating reference handling was inconsistent and has been cleaned up
710709 across the board, including annotations. This solves various
711 long-standing memory leaks in language bindings, which e.g. often
710 long-standing memory leaks in language bindings, which e.g. often
712711 caused elements and pads to be leaked.
713712
714713 - major gobject-introspection annotation improvements for large parts
715714 of the library API, including nullability of return types and
716 function parameters, correct types (e.g. strings vs. filenames),
715 function parameters, correct types (e.g. strings vs. filenames),
717716 ownership transfer, array length parameters, etc. This allows to use
718717 bigger parts of the GStreamer API to be safely used from dynamic
719 language bindings (e.g. Python, Javascript) and allows static
720 bindings (e.g. C#, Rust, Vala) to autogenerate more API bindings
718 language bindings (e.g. Python, Javascript) and allows static
719 bindings (e.g. C#, Rust, Vala) to autogenerate more API bindings
721720 without manual intervention.
722721
723722 OpenGL integration
726725 gst-plugins-base and is now part of our stable API.
727726
728727 - new MESA3D GBM BACKEND. On devices with working libdrm support, it
729 is possible to use Mesa3D's GBM library to set up an EGL context
728 is possible to use Mesa3D’s GBM library to set up an EGL context
730729 directly on top of KMS. This makes it possible to use the GStreamer
731730 OpenGL elements without a windowing system if a libdrm- and
732731 Mesa3D-supported GPU is present.
760759 log handler of course, this just provides this functionality as part
761760 of GStreamer.
762761
763 - 'fakevideosink is a null sink for video data that advertises
762 - ’fakevideosink is a null sink for video data that advertises
764763 video-specific metas and behaves like a video sink. See above for
765764 more details.
766765
816815 the best of our knowledge the first RTSP 2.0 implementation ever!
817816
818817 - ONVIF audio backchannel support. This is an extension specified by
819 ONVIF that allows RTSP clients (e.g. a control room operator) to
820 send audio back to the RTSP server (e.g. an IP camera).
818 ONVIF that allows RTSP clients (e.g. a control room operator) to
819 send audio back to the RTSP server (e.g. an IP camera).
821820 Theoretically this could have been done also by using the RECORD
822821 method of the RTSP protocol, but ONVIF chose not to do that, so the
823822 backchannel is set up alongside the other streams. Format
835834 manually checking a TLS certificate for validity.
836835
837836 - Fix keep-alive/timeout issue for certain clients using TCP
838 interleave as transport who don't do keep-alive via some other
837 interleave as transport who don’t do keep-alive via some other
839838 method such as periodic RTSP OPTION requests. We now put netaddress
840839 metas on the packets from the TCP interleaved stream, so can map
841840 RTCP packets to the right stream in the server and can handle them
852851
853852 GStreamer VAAPI
854853
855 - Improve DMABuf's usage, both upstream and dowstream, and
854 - Improve DMABuf’s usage, both upstream and dowstream, and
856855 memory:DMABuf caps feature is also negotiated when the dmabuf-based
857856 buffer cannot be mapped onto user-space.
858857
864863
865864 - VA display cache was removed.
866865
867 - libva's log messages are now redirected into the GStreamer log
866 - libva’s log messages are now redirected into the GStreamer log
868867 handler.
869868
870869 - Decoders improved their upstream re-negotiation by avoiding to
871870 re-instantiate the internal decoder if stream caps are compatible
872871 with the previous one.
873872
874 - When downstream doesn't support GstVideoMeta and the decoded frames
875 don't have standard strides, they are copied onto system
873 - When downstream doesn’t support GstVideoMeta and the decoded frames
874 don’t have standard strides, they are copied onto system
876875 memory-based buffers.
877876
878877 - H.264 decoder has a low-latency property, for live streams which
879 doesn't conform the H.264 specification but still it is required to
878 doesn’t conform the H.264 specification but still it is required to
880879 push the frames to downstream as soon as possible.
881880
882881 - As part of the Google Summer of Code 2017 the H.264 decoder drops
923922 - vaapisink was demoted to marginal rank on Wayland because COGL
924923 cannot display YUV surfaces.
925924
926 More details in Víctor's blog post _GStreamer VA-API 1.14: what’s new?_.
925 More details in Víctor’s blog post _GStreamer VA-API 1.14: what’s new?_.
927926
928927
929928 GStreamer Editing Services and NLE
941940
942941 GStreamer validate
943942
944 - Handle running scenarios on live pipelines (in the "content sense",
943 - Handle running scenarios on live pipelines (in the “content sense”,
945944 not the GStreamer one)
946945
947946 - Implement RTSP support with a basic server based on gst-rtsp-server,
968967
969968 - Update wrapped API to GStreamer 1.14
970969
971 - Removed the need for "glue" code
970 - Removed the need for “glue” code
972971
973972 - Provide a nuget
974973
988987
989988 - some plugins and libraries have moved between modules, see the
990989 _Plugin and_ _library moves_ section above, and their respective
991 dependencies have moved with them of course, e.g. the GStreamer
990 dependencies have moved with them of course, e.g. the GStreamer
992991 OpenGL integration support library and plugin is now in
993992 gst-plugins-base, and mpg123, LAME and twoLAME based audio decoder
994993 and encoder plugins are now in gst-plugins-good.
10321031
10331032 There is also a small structure size related ABI breakage introduced in
10341033 the gst-plugins-bad codecparsers library between version 1.13.90 and
1035 1.13.91. This should "only" affect gstreamer-vaapi, so anyone who ships
1034 1.13.91. This should “only” affect gstreamer-vaapi, so anyone who ships
10361035 the release candidates is advised to upgrade those two modules at the
10371036 same time.
10381037
10511050
10521051 - The GStreamer wasapi plugin was rewritten and should not only be
10531052 usable now, but in top shape and suitable for low-latency use cases.
1054 The Windows Audio Session API (WASAPI) is Microsoft's most modern
1053 The Windows Audio Session API (WASAPI) is Microsoft’s most modern
10551054 method for talking with audio devices, and now that the wasapi
10561055 plugin is up to scratch it is preferred over the directsound plugin.
10571056 The ranks of the wasapisink and wasapisrc elements have been updated
10581057 to reflect this. Further improvements include:
10591058
1060 - support for more than 2 channels
1061
1062 - a new "low-latency" property to enable low-latency operation (which
1063 should always be safe to enable)
1064
1065 - support for the AudioClient3 API which is only available on Windows
1066 10: in wasapisink this will be used automatically if available; in
1067 wasapisrc it will have to be enabled explicitly via the
1068 "use-audioclient3" property, as capturing audio with low latency and
1069 without glitches seems to require setting the realtime priority of
1070 the entire pipeline to "critical", which cannot be done from inside
1071 the element, but has to be done in the application.
1072
1073 - set realtime thread priority to avoid glitches
1074
1075 - allow opening devices in exclusive mode, which provides much lower
1076 latency compared to shared mode where WASAPI's engine period is
1077 10ms. This can be activated via the "exclusive" property.
1078
1079 - Also see Nirbheek's blog post _Low Latency Audio on Windows with
1080 GStreamer_.
1059 - support for more than 2 channels
1060
1061 - a new "low-latency" property to enable low-latency operation
1062 (which should always be safe to enable)
1063
1064 - support for the AudioClient3 API which is only available on
1065 Windows 10: in wasapisink this will be used automatically if
1066 available; in wasapisrc it will have to be enabled explicitly
1067 via the "use-audioclient3" property, as capturing audio with low
1068 latency and without glitches seems to require setting the
1069 realtime priority of the entire pipeline to “critical”, which
1070 cannot be done from inside the element, but has to be done in
1071 the application.
1072
1073 - set realtime thread priority to avoid glitches
1074
1075 - allow opening devices in exclusive mode, which provides much
1076 lower latency compared to shared mode where WASAPI’s engine
1077 period is 10ms. This can be activated via the "exclusive"
1078 property.
1079
1080 - Also see Nirbheek’s blog post _Low Latency Audio on Windows with
1081 GStreamer_.
10811082
10821083 - There are now GstDeviceProvider implementations for the wasapi and
1083 directsound plugins, so it's now possible to discover both audio
1084 directsound plugins, so it’s now possible to discover both audio
10841085 sources and audio sinks on Windows via the GstDeviceMonitor API
10851086
10861087 - debug log timestamps are now higher granularity owing to
11351136 Selnes, Thiago Santos, Thibault Saunier, Thijs Vermeir, Tim Allen,
11361137 Tim-Philipp Müller, Ting-Wei Lan, Tomas Rataj, Tom Bailey, Tonu Jaansoo,
11371138 U. Artie Eoff, Umang Jain, Ursula Maplehurst, VaL Doroshchuk, Vasilis
1138 Liaskovitis, Víctor Manuel Jáquez Leal, vijay, Vincent Penquerc'h,
1139 Liaskovitis, Víctor Manuel Jáquez Leal, vijay, Vincent Penquerc’h,
11391140 Vineeth T M, Vivia Nikolaidou, Wang Xin-yu (王昕宇), Wei Feng, Wim
11401141 Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier Claessens,
11411142 XuGuangxin, Yasushi SHOJI, Yi A Wang, Youness Alaoui,
11421143
1143 ... and many others who have contributed bug reports, translations, sent
1144 … and many others who have contributed bug reports, translations, sent
11441145 suggestions or helped testing.
11451146
11461147
11861187 - gst-play-1.0: fix leaving stdin in non-blocking mode after exit
11871188 - flvmux: wait for caps on all input pads before writing header even
11881189 if source is live
1189 - flvmux: don't wake up the muxer unless there is data, fixes busy
1190 looping if there's no input data
1190 - flvmux: don’t wake up the muxer unless there is data, fixes busy
1191 looping if there’s no input data
11911192 - flvmux: fix major leak of input buffers
11921193 - rtspsrc, rtsp-server: revert to RTSP RFC handling of
11931194 sendonly/recvonly attributes
12111212 - h265parse: Make caps writable before modifying them, fixes criticals
12121213 - fakevideosink: request an extra buffer if enable-last-sample is
12131214 enabled
1214 - wasapisrc: Don't provide a clock based on WASAPI's clock
1215 - wasapisrc: Don’t provide a clock based on WASAPI’s clock
12151216 - wasapi: Only use audioclient3 when low-latency, as it might
12161217 otherwise glitch with slow CPUs or VMs
1217 - wasapi: Don't derive device period from latency time, should make it
1218 - wasapi: Don’t derive device period from latency time, should make it
12181219 more robust against glitches
12191220 - audiolatency: Fix wave detection in buffers and avoid bogus pts
12201221 values while starting
12211222 - msdk: fix plugin load on implementations with only HW support
12221223 - msdk: dec: set framerate to the driver only if provided, not in 0/1
12231224 case
1224 - msdk: Don't set extended coding options for JPEG encode
1225 - msdk: Don’t set extended coding options for JPEG encode
12251226 - rtponviftimestamp: fix state change function init/reset causing
12261227 races/crashes on shutdown
12271228 - decklink: fix initialization failure in windows binary
12291230 dependencies in meson build
12301231 - gl: fix cross-compilation error with viv-fb
12311232 - qmlglsink: make work with eglfs_kms
1232 - rtspclientsink: Don't deadlock in preroll on early close
1233 - rtspclientsink: Don’t deadlock in preroll on early close
12331234 - rtspclientsink: Fix client ports for the RTCP backchannel
12341235 - rtsp-server: Fix session timeout when streaming data to client over
12351236 TCP
12451246 build
12461247 - g-i: update constant values for bindings
12471248 - avoid duplicate symbols in plugins across modules in static builds
1248 - ... and many, many more!
1249 - … and many, many more!
12491250
12501251 Cerbero build tool and packaging changes in 1.14.1
12511252
12591260 errors
12601261 - gnutls: fix assembly symbol names for windows x86
12611262 - openssl: fix linking on android/armv7
1262 - openssl: fix linker issue with Android NDK's r16 binutils
1263 - openssl: fix linker issue with Android NDK’s r16 binutils
12631264 - ffmpeg: disable asm for android x86 to fix issues when linking with
12641265 apps
12651266 - x264: disable asm for android x86 to fix issues when linking with
12701271 relocations
12711272 - Check built version while loading recipe and rebuild if needed
12721273 - Fix packaging of libgcc_s_sjlj which was missing in Windows packages
1273 - Make not-found in library search fatal so we don't accidentally ship
1274 - Make not-found in library search fatal so we don’t accidentally ship
12741275 broken packages
12751276 - ship the proxy plugin which was new in 1.14
12761277 - Fix git commands accidentally pulling in locally built libraries and
12991300
13001301 1.14.2
13011302
1302 The second 1.14 bug-fix release (1.14.2) is scheduled to be released
1303 around mid-June 2018.
1303 The second 1.14 bug-fix release (1.14.2) was released on 20 July 2018.
13041304
13051305 This release only contains bugfixes and it should be safe to update from
13061306 1.14.x.
1307
1308 Noteworthy bugfixes in 1.14.2
1309
1310 - asfdemux: Only send flush-stop event for flushing seeks
1311 - glcolorbalance: Support OES textures for input/passthrough, avoids
1312 possibly-unnecessary extra texture copy on Android in the default GL
1313 path inside glimagesink.
1314 - parsebin: Don’t try to continue autoplugging a parser if we got raw
1315 caps
1316 - audiobasesrc: Round down segsize to an integer number of samples
1317 - scaletempo: Mark as Audio in classification
1318 - souphttpsrc: thread-safety fixes
1319 - v4l2bufferpool: Validate that capture buffers were queued, to detect
1320 when buffer importation was refused by the driver.
1321 - v4l2bufferpool: Only return eos for M2M devices not v4l2src when
1322 buggy driver sends empty buffer
1323 - v4l2allocator: Fix userptr importation
1324 - v4l2src: Try to avoid TRY_FMT when camera is streaming, some drivers
1325 don’t like it
1326 - v4l2videoenc: Only renegotiate with upstream, fixes use in
1327 GstRtspServer pipeline
1328 - v4l2: many other fixes
1329 - pitch: fix latency reporting, and various other things
1330 - dvb: fix wrong (GPL) license headers in camconditionalaccess code
1331 - webrtc: Fix transportsendbin to fix spurious shut-down failures in
1332 webrtcbin if DTLS negotiation hasn’t completed yet.
1333 - webrtc: Don’t deadlock on blocked pads on shutdown
1334 - webrtcbin: copy sticky events on our ghostpads so users can use
1335 gst_pad_get_current_caps() to determine what to do with newly-added
1336 pads.
1337 - webrtcbin: fix rtpstorage configuration on 32-bit systems
1338 - webrtcbin: implement support for FEC and RTX
1339 - gstplayer: Fix duration-changed CRITICAL warning if duration did not
1340 actually change
1341 - gstplayer: Avoid trying to join the player thread from itself
1342 - codecparsers: mpeg2 parsing fixes for zero-sized packets
1343 - wasapisink: fix a rounding error when calculating the buffer frame
1344 count
1345 - wasapisink: fix missing unlock in case IAudioClient_Start fails
1346 - wasapi: fix potential crash with MinGW
1347 - rtsp-server: fix race during udpsrc setup, avoiding pushing data on
1348 unlinked udpsrc pad
1349 - rtsp-server: fix waiting for multiple streams in rtspclientsink
1350 - gst-editing-services: group: Fix handling clips that are added to a
1351 layer
1352 - gst-editing-services: python binding fixes
1353 - gst-validate launcher: Allow retrieving coredumps from within
1354 flatpak
1355 - gst-validate launcher: Fix the –forever switch which was not
1356 stopping on error
1357 - vaapi: h264 encoder negotiation fixes
1358 - vaapi: fix issues with native EGL display
1359 - more GIR annotations fixes, especially for arrays
1360 - gstreamer-sharp bindings were updated for g-i annotation fixes in
1361 other modules
1362 - fuzzing fixes
1363 - memory leak fixes
1364 - build fixes:
1365 - build fixes for MSVC compiler
1366 - meson: Fix detection of glib-mkenums under MSYS2 plus other
1367 meson buil fixes
1368 - Fix static build symbol redefinition errors (xvimage, gst-libav)
1369 - qmlgl: build fixes for conflicting declaration of type GLsync
1370 for non-android
1371 - gl: build fixes for missing EGLuint64KHR typedef
1372 - … and many more!
1373
1374 Contributors to 1.14.2
1375
1376 Alessandro Decina, Antoine Jacoutot, Brendan Shanks, Carlos Rafael
1377 Giani, Christoph Reiter, Edward Hervey, Göran Jönsson, Guillaume
1378 Desmottes, Hyunjun Ko, Iñigo Huguet, Jan Schmidt, Johan Bjäreholt,
1379 Louis-Francis Ratté-Boulianne, Lyon Wang, Marian Mihailescu, Mark
1380 Nauwelaerts, Mathieu Duponchelle, Matthew Waters, Michael Tretter,
1381 Nicolas Dufresne, Nirbheek Chauhan, Philipp Zabel, Roland Jon, Sebastian
1382 Dröge, Seungha Yang, Sreerenj Balachandran, Suhas Nayak, Thibault
1383 Saunier, Tim-Philipp Müller, Víctor Manuel Jáquez Leal, Vivia
1384 Nikolaidou, wangzq, and many others. Thank you all.
1385
1386 List of bugs fixed in 1.14.2
1387
1388 For a full list of bugfixes see Bugzilla. Note that this is not the full
1389 list of changes. For the full list of changes please refer to the GIT
1390 logs or ChangeLogs of the particular modules.
13071391
13081392
13091393 Known Issues
13121396 GStreamer webrtc support) is currently not shipped as part of the
13131397 Windows binary packages due to a build system issue.
13141398
1315 - The gst-libav module currently won't build against the
1316 newly-released ffmpeg 4.0 (as in F28). Use the internal ffmpeg copy
1317 instead, if you build using autotools.
1399 - The gst-libav module in 1.14 will only build against older ffmpeg
1400 3.x versions and won’t build against the newly-released ffmpeg 4.0
1401 (as in RPM Fusion for Fedora 28) due to API changes. Use the
1402 internal ffmpeg copy instead if you build using autotools. This is
1403 fixed in git master / upcoming 1.16, but won’t be backported to the
1404 1.14 branch as it is rather intrusive and difficult to support both
1405 old and new APIs at the same time.
13181406
13191407
13201408 Schedule for 1.16
0 This is GStreamer gst-python 1.14.1.
0 This is GStreamer gst-python 1.14.2.
11
2 The GStreamer team is pleased to announce a new bug-fix release in the
2 The GStreamer team is pleased to announce another bug-fix release in the
33 stable 1.x API series of your favourite cross-platform multimedia framework!
44
55 The 1.14 release series adds new features on top of the 1.12 series and is
00 #! /bin/sh
11 # Attempt to guess a canonical system name.
2 # Copyright 1992-2017 Free Software Foundation, Inc.
3
4 timestamp='2017-11-07'
2 # Copyright 1992-2018 Free Software Foundation, Inc.
3
4 timestamp='2018-02-24'
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
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."
106106 dummy=$tmp/dummy ;
107107 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
108108 case $CC_FOR_BUILD,$HOST_CC,$CC in
109 ,,) echo "int x;" > $dummy.c ;
109 ,,) echo "int x;" > "$dummy.c" ;
110110 for c in cc gcc c89 c99 ; do
111 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
111 if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
112112 CC_FOR_BUILD="$c"; break ;
113113 fi ;
114114 done ;
131131 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
132132 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
133133
134 case "${UNAME_SYSTEM}" in
134 case "$UNAME_SYSTEM" in
135135 Linux|GNU|GNU/*)
136136 # If the system lacks a compiler, then just pick glibc.
137137 # We could probably try harder.
138138 LIBC=gnu
139139
140 eval $set_cc_for_build
141 cat <<-EOF > $dummy.c
140 eval "$set_cc_for_build"
141 cat <<-EOF > "$dummy.c"
142142 #include <features.h>
143143 #if defined(__UCLIBC__)
144144 LIBC=uclibc
148148 LIBC=gnu
149149 #endif
150150 EOF
151 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
151 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
152
153 # If ldd exists, use it to detect musl libc.
154 if command -v ldd >/dev/null && \
155 ldd --version 2>&1 | grep -q ^musl
156 then
157 LIBC=musl
158 fi
152159 ;;
153160 esac
154161
155162 # Note: order is significant - the case branches are not exclusive.
156163
157 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
164 case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
158165 *:NetBSD:*:*)
159166 # NetBSD (nbsd) targets should (where applicable) match one or
160167 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
168175 # portion of the name. We always set it to "unknown".
169176 sysctl="sysctl -n hw.machine_arch"
170177 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
171 /sbin/$sysctl 2>/dev/null || \
172 /usr/sbin/$sysctl 2>/dev/null || \
178 "/sbin/$sysctl" 2>/dev/null || \
179 "/usr/sbin/$sysctl" 2>/dev/null || \
173180 echo unknown)`
174 case "${UNAME_MACHINE_ARCH}" in
181 case "$UNAME_MACHINE_ARCH" in
175182 armeb) machine=armeb-unknown ;;
176183 arm*) machine=arm-unknown ;;
177184 sh3el) machine=shl-unknown ;;
178185 sh3eb) machine=sh-unknown ;;
179186 sh5el) machine=sh5le-unknown ;;
180187 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
188 arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
189 endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
190 machine="${arch}${endian}"-unknown
184191 ;;
185 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
192 *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
186193 esac
187194 # The Operating System including object format, if it has switched
188195 # to ELF recently (or will in the future) and ABI.
189 case "${UNAME_MACHINE_ARCH}" in
196 case "$UNAME_MACHINE_ARCH" in
190197 earm*)
191198 os=netbsdelf
192199 ;;
193200 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
194 eval $set_cc_for_build
201 eval "$set_cc_for_build"
195202 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
196203 | grep -q __ELF__
197204 then
207214 ;;
208215 esac
209216 # Determine ABI tags.
210 case "${UNAME_MACHINE_ARCH}" in
217 case "$UNAME_MACHINE_ARCH" in
211218 earm*)
212219 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
213 abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
220 abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
214221 ;;
215222 esac
216223 # The OS release
218225 # thus, need a distinct triplet. However, they do not need
219226 # kernel version information, so it can be replaced with a
220227 # suitable tag, in the style of linux-gnu.
221 case "${UNAME_VERSION}" in
228 case "$UNAME_VERSION" in
222229 Debian*)
223230 release='-gnu'
224231 ;;
225232 *)
226 release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
233 release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
227234 ;;
228235 esac
229236 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
230237 # contains redundant information, the shorter form:
231238 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
232 echo "${machine}-${os}${release}${abi}"
239 echo "$machine-${os}${release}${abi}"
233240 exit ;;
234241 *:Bitrig:*:*)
235242 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
236 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
243 echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
237244 exit ;;
238245 *:OpenBSD:*:*)
239246 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
240 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
247 echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
241248 exit ;;
242249 *:LibertyBSD:*:*)
243250 UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
244 echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
251 echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
245252 exit ;;
246253 *:MidnightBSD:*:*)
247 echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
254 echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
248255 exit ;;
249256 *:ekkoBSD:*:*)
250 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
257 echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
251258 exit ;;
252259 *:SolidBSD:*:*)
253 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
260 echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
254261 exit ;;
255262 macppc:MirBSD:*:*)
256 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
263 echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
257264 exit ;;
258265 *:MirBSD:*:*)
259 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
266 echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
260267 exit ;;
261268 *:Sortix:*:*)
262 echo ${UNAME_MACHINE}-unknown-sortix
269 echo "$UNAME_MACHINE"-unknown-sortix
263270 exit ;;
264271 *:Redox:*:*)
265 echo ${UNAME_MACHINE}-unknown-redox
266 exit ;;
272 echo "$UNAME_MACHINE"-unknown-redox
273 exit ;;
274 mips:OSF1:*.*)
275 echo mips-dec-osf1
276 exit ;;
267277 alpha:OSF1:*:*)
268278 case $UNAME_RELEASE in
269279 *4.0)
315325 # A Tn.n version is a released field test version.
316326 # A Xn.n version is an unreleased experimental baselevel.
317327 # 1.2 uses "1.2" for uname -r.
318 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
328 echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
319329 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
320330 exitcode=$?
321331 trap '' 0
324334 echo m68k-unknown-sysv4
325335 exit ;;
326336 *:[Aa]miga[Oo][Ss]:*:*)
327 echo ${UNAME_MACHINE}-unknown-amigaos
337 echo "$UNAME_MACHINE"-unknown-amigaos
328338 exit ;;
329339 *:[Mm]orph[Oo][Ss]:*:*)
330 echo ${UNAME_MACHINE}-unknown-morphos
340 echo "$UNAME_MACHINE"-unknown-morphos
331341 exit ;;
332342 *:OS/390:*:*)
333343 echo i370-ibm-openedition
339349 echo powerpc-ibm-os400
340350 exit ;;
341351 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
342 echo arm-acorn-riscix${UNAME_RELEASE}
352 echo arm-acorn-riscix"$UNAME_RELEASE"
343353 exit ;;
344354 arm*:riscos:*:*|arm*:RISCOS:*:*)
345355 echo arm-unknown-riscos
366376 sparc) echo sparc-icl-nx7; exit ;;
367377 esac ;;
368378 s390x:SunOS:*:*)
369 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
379 echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
370380 exit ;;
371381 sun4H:SunOS:5.*:*)
372 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
382 echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
373383 exit ;;
374384 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
375 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
385 echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
376386 exit ;;
377387 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
378 echo i386-pc-auroraux${UNAME_RELEASE}
388 echo i386-pc-auroraux"$UNAME_RELEASE"
379389 exit ;;
380390 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
381 eval $set_cc_for_build
391 eval "$set_cc_for_build"
382392 SUN_ARCH=i386
383393 # If there is a compiler, see if it is configured for 64-bit objects.
384394 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
391401 SUN_ARCH=x86_64
392402 fi
393403 fi
394 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
404 echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
395405 exit ;;
396406 sun4*:SunOS:6*:*)
397407 # According to config.sub, this is the proper way to canonicalize
398408 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
399409 # it's likely to be more like Solaris than SunOS4.
400 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
410 echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
401411 exit ;;
402412 sun4*:SunOS:*:*)
403413 case "`/usr/bin/arch -k`" in
406416 ;;
407417 esac
408418 # Japanese Language versions have a version number like `4.1.3-JL'.
409 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
419 echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
410420 exit ;;
411421 sun3*:SunOS:*:*)
412 echo m68k-sun-sunos${UNAME_RELEASE}
422 echo m68k-sun-sunos"$UNAME_RELEASE"
413423 exit ;;
414424 sun*:*:4.2BSD:*)
415425 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
416 test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
426 test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
417427 case "`/bin/arch`" in
418428 sun3)
419 echo m68k-sun-sunos${UNAME_RELEASE}
429 echo m68k-sun-sunos"$UNAME_RELEASE"
420430 ;;
421431 sun4)
422 echo sparc-sun-sunos${UNAME_RELEASE}
432 echo sparc-sun-sunos"$UNAME_RELEASE"
423433 ;;
424434 esac
425435 exit ;;
426436 aushp:SunOS:*:*)
427 echo sparc-auspex-sunos${UNAME_RELEASE}
437 echo sparc-auspex-sunos"$UNAME_RELEASE"
428438 exit ;;
429439 # The situation for MiNT is a little confusing. The machine name
430440 # can be virtually everything (everything which is not
435445 # MiNT. But MiNT is downward compatible to TOS, so this should
436446 # be no problem.
437447 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
438 echo m68k-atari-mint${UNAME_RELEASE}
448 echo m68k-atari-mint"$UNAME_RELEASE"
439449 exit ;;
440450 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
441 echo m68k-atari-mint${UNAME_RELEASE}
451 echo m68k-atari-mint"$UNAME_RELEASE"
442452 exit ;;
443453 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
444 echo m68k-atari-mint${UNAME_RELEASE}
454 echo m68k-atari-mint"$UNAME_RELEASE"
445455 exit ;;
446456 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
447 echo m68k-milan-mint${UNAME_RELEASE}
457 echo m68k-milan-mint"$UNAME_RELEASE"
448458 exit ;;
449459 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
450 echo m68k-hades-mint${UNAME_RELEASE}
460 echo m68k-hades-mint"$UNAME_RELEASE"
451461 exit ;;
452462 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
453 echo m68k-unknown-mint${UNAME_RELEASE}
463 echo m68k-unknown-mint"$UNAME_RELEASE"
454464 exit ;;
455465 m68k:machten:*:*)
456 echo m68k-apple-machten${UNAME_RELEASE}
466 echo m68k-apple-machten"$UNAME_RELEASE"
457467 exit ;;
458468 powerpc:machten:*:*)
459 echo powerpc-apple-machten${UNAME_RELEASE}
469 echo powerpc-apple-machten"$UNAME_RELEASE"
460470 exit ;;
461471 RISC*:Mach:*:*)
462472 echo mips-dec-mach_bsd4.3
463473 exit ;;
464474 RISC*:ULTRIX:*:*)
465 echo mips-dec-ultrix${UNAME_RELEASE}
475 echo mips-dec-ultrix"$UNAME_RELEASE"
466476 exit ;;
467477 VAX*:ULTRIX*:*:*)
468 echo vax-dec-ultrix${UNAME_RELEASE}
478 echo vax-dec-ultrix"$UNAME_RELEASE"
469479 exit ;;
470480 2020:CLIX:*:* | 2430:CLIX:*:*)
471 echo clipper-intergraph-clix${UNAME_RELEASE}
481 echo clipper-intergraph-clix"$UNAME_RELEASE"
472482 exit ;;
473483 mips:*:*:UMIPS | mips:*:*:RISCos)
474 eval $set_cc_for_build
475 sed 's/^ //' << EOF >$dummy.c
484 eval "$set_cc_for_build"
485 sed 's/^ //' << EOF > "$dummy.c"
476486 #ifdef __cplusplus
477487 #include <stdio.h> /* for printf() prototype */
478488 int main (int argc, char *argv[]) {
493503 exit (-1);
494504 }
495505 EOF
496 $CC_FOR_BUILD -o $dummy $dummy.c &&
497 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
498 SYSTEM_NAME=`$dummy $dummyarg` &&
506 $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
507 dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
508 SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
499509 { echo "$SYSTEM_NAME"; exit; }
500 echo mips-mips-riscos${UNAME_RELEASE}
510 echo mips-mips-riscos"$UNAME_RELEASE"
501511 exit ;;
502512 Motorola:PowerMAX_OS:*:*)
503513 echo powerpc-motorola-powermax
523533 AViiON:dgux:*:*)
524534 # DG/UX returns AViiON for all architectures
525535 UNAME_PROCESSOR=`/usr/bin/uname -p`
526 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
536 if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
527537 then
528 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
529 [ ${TARGET_BINARY_INTERFACE}x = x ]
538 if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
539 [ "$TARGET_BINARY_INTERFACE"x = x ]
530540 then
531 echo m88k-dg-dgux${UNAME_RELEASE}
541 echo m88k-dg-dgux"$UNAME_RELEASE"
532542 else
533 echo m88k-dg-dguxbcs${UNAME_RELEASE}
543 echo m88k-dg-dguxbcs"$UNAME_RELEASE"
534544 fi
535545 else
536 echo i586-dg-dgux${UNAME_RELEASE}
546 echo i586-dg-dgux"$UNAME_RELEASE"
537547 fi
538548 exit ;;
539549 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
550560 echo m68k-tektronix-bsd
551561 exit ;;
552562 *:IRIX*:*:*)
553 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
563 echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
554564 exit ;;
555565 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
556566 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
562572 if [ -x /usr/bin/oslevel ] ; then
563573 IBM_REV=`/usr/bin/oslevel`
564574 else
565 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
566 fi
567 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
575 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
576 fi
577 echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
568578 exit ;;
569579 *:AIX:2:3)
570580 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
571 eval $set_cc_for_build
572 sed 's/^ //' << EOF >$dummy.c
581 eval "$set_cc_for_build"
582 sed 's/^ //' << EOF > "$dummy.c"
573583 #include <sys/systemcfg.h>
574584
575585 main()
580590 exit(0);
581591 }
582592 EOF
583 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
593 if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
584594 then
585595 echo "$SYSTEM_NAME"
586596 else
594604 exit ;;
595605 *:AIX:*:[4567])
596606 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
597 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
607 if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
598608 IBM_ARCH=rs6000
599609 else
600610 IBM_ARCH=powerpc
603613 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
604614 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
605615 else
606 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
607 fi
608 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
616 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
617 fi
618 echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
609619 exit ;;
610620 *:AIX:*:*)
611621 echo rs6000-ibm-aix
614624 echo romp-ibm-bsd4.4
615625 exit ;;
616626 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
617 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
627 echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
618628 exit ;; # report: romp-ibm BSD 4.3
619629 *:BOSX:*:*)
620630 echo rs6000-bull-bosx
629639 echo m68k-hp-bsd4.4
630640 exit ;;
631641 9000/[34678]??:HP-UX:*:*)
632 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
633 case "${UNAME_MACHINE}" in
642 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
643 case "$UNAME_MACHINE" in
634644 9000/31?) HP_ARCH=m68000 ;;
635645 9000/[34]??) HP_ARCH=m68k ;;
636646 9000/[678][0-9][0-9])
637647 if [ -x /usr/bin/getconf ]; then
638648 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
639649 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
640 case "${sc_cpu_version}" in
650 case "$sc_cpu_version" in
641651 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
642652 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
643653 532) # CPU_PA_RISC2_0
644 case "${sc_kernel_bits}" in
654 case "$sc_kernel_bits" in
645655 32) HP_ARCH=hppa2.0n ;;
646656 64) HP_ARCH=hppa2.0w ;;
647657 '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
648658 esac ;;
649659 esac
650660 fi
651 if [ "${HP_ARCH}" = "" ]; then
652 eval $set_cc_for_build
653 sed 's/^ //' << EOF >$dummy.c
661 if [ "$HP_ARCH" = "" ]; then
662 eval "$set_cc_for_build"
663 sed 's/^ //' << EOF > "$dummy.c"
654664
655665 #define _HPUX_SOURCE
656666 #include <stdlib.h>
683693 exit (0);
684694 }
685695 EOF
686 (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
696 (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
687697 test -z "$HP_ARCH" && HP_ARCH=hppa
688698 fi ;;
689699 esac
690 if [ ${HP_ARCH} = hppa2.0w ]
700 if [ "$HP_ARCH" = hppa2.0w ]
691701 then
692 eval $set_cc_for_build
702 eval "$set_cc_for_build"
693703
694704 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
695705 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
708718 HP_ARCH=hppa64
709719 fi
710720 fi
711 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
721 echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
712722 exit ;;
713723 ia64:HP-UX:*:*)
714 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
715 echo ia64-hp-hpux${HPUX_REV}
724 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
725 echo ia64-hp-hpux"$HPUX_REV"
716726 exit ;;
717727 3050*:HI-UX:*:*)
718 eval $set_cc_for_build
719 sed 's/^ //' << EOF >$dummy.c
728 eval "$set_cc_for_build"
729 sed 's/^ //' << EOF > "$dummy.c"
720730 #include <unistd.h>
721731 int
722732 main ()
741751 exit (0);
742752 }
743753 EOF
744 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
754 $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
745755 { echo "$SYSTEM_NAME"; exit; }
746756 echo unknown-hitachi-hiuxwe2
747757 exit ;;
762772 exit ;;
763773 i*86:OSF1:*:*)
764774 if [ -x /usr/sbin/sysversion ] ; then
765 echo ${UNAME_MACHINE}-unknown-osf1mk
775 echo "$UNAME_MACHINE"-unknown-osf1mk
766776 else
767 echo ${UNAME_MACHINE}-unknown-osf1
777 echo "$UNAME_MACHINE"-unknown-osf1
768778 fi
769779 exit ;;
770780 parisc*:Lites*:*:*)
789799 echo c4-convex-bsd
790800 exit ;;
791801 CRAY*Y-MP:*:*:*)
792 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
802 echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
793803 exit ;;
794804 CRAY*[A-Z]90:*:*:*)
795 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
805 echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
796806 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
797807 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
798808 -e 's/\.[^.]*$/.X/'
799809 exit ;;
800810 CRAY*TS:*:*:*)
801 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
811 echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
802812 exit ;;
803813 CRAY*T3E:*:*:*)
804 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
814 echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
805815 exit ;;
806816 CRAY*SV1:*:*:*)
807 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
817 echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
808818 exit ;;
809819 *:UNICOS/mp:*:*)
810 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
820 echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
811821 exit ;;
812822 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
813823 FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
814824 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
815 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
825 FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
816826 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
817827 exit ;;
818828 5000:UNIX_System_V:4.*:*)
819829 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
820 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
830 FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
821831 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
822832 exit ;;
823833 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
824 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
834 echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
825835 exit ;;
826836 sparc*:BSD/OS:*:*)
827 echo sparc-unknown-bsdi${UNAME_RELEASE}
837 echo sparc-unknown-bsdi"$UNAME_RELEASE"
828838 exit ;;
829839 *:BSD/OS:*:*)
830 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
840 echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
831841 exit ;;
832842 *:FreeBSD:*:*)
833843 UNAME_PROCESSOR=`/usr/bin/uname -p`
834 case ${UNAME_PROCESSOR} in
844 case "$UNAME_PROCESSOR" in
835845 amd64)
836846 UNAME_PROCESSOR=x86_64 ;;
837847 i386)
838848 UNAME_PROCESSOR=i586 ;;
839849 esac
840 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
850 echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
841851 exit ;;
842852 i*:CYGWIN*:*)
843 echo ${UNAME_MACHINE}-pc-cygwin
853 echo "$UNAME_MACHINE"-pc-cygwin
844854 exit ;;
845855 *:MINGW64*:*)
846 echo ${UNAME_MACHINE}-pc-mingw64
856 echo "$UNAME_MACHINE"-pc-mingw64
847857 exit ;;
848858 *:MINGW*:*)
849 echo ${UNAME_MACHINE}-pc-mingw32
859 echo "$UNAME_MACHINE"-pc-mingw32
850860 exit ;;
851861 *:MSYS*:*)
852 echo ${UNAME_MACHINE}-pc-msys
862 echo "$UNAME_MACHINE"-pc-msys
853863 exit ;;
854864 i*:PW*:*)
855 echo ${UNAME_MACHINE}-pc-pw32
865 echo "$UNAME_MACHINE"-pc-pw32
856866 exit ;;
857867 *:Interix*:*)
858 case ${UNAME_MACHINE} in
868 case "$UNAME_MACHINE" in
859869 x86)
860 echo i586-pc-interix${UNAME_RELEASE}
870 echo i586-pc-interix"$UNAME_RELEASE"
861871 exit ;;
862872 authenticamd | genuineintel | EM64T)
863 echo x86_64-unknown-interix${UNAME_RELEASE}
873 echo x86_64-unknown-interix"$UNAME_RELEASE"
864874 exit ;;
865875 IA64)
866 echo ia64-unknown-interix${UNAME_RELEASE}
876 echo ia64-unknown-interix"$UNAME_RELEASE"
867877 exit ;;
868878 esac ;;
869879 i*:UWIN*:*)
870 echo ${UNAME_MACHINE}-pc-uwin
880 echo "$UNAME_MACHINE"-pc-uwin
871881 exit ;;
872882 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
873883 echo x86_64-unknown-cygwin
874884 exit ;;
875885 prep*:SunOS:5.*:*)
876 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
886 echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
877887 exit ;;
878888 *:GNU:*:*)
879889 # the GNU system
880 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
890 echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
881891 exit ;;
882892 *:GNU/*:*:*)
883893 # other systems with GNU libc and userland
884 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
894 echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
885895 exit ;;
886896 i*86:Minix:*:*)
887 echo ${UNAME_MACHINE}-pc-minix
897 echo "$UNAME_MACHINE"-pc-minix
888898 exit ;;
889899 aarch64:Linux:*:*)
890 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
900 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
891901 exit ;;
892902 aarch64_be:Linux:*:*)
893903 UNAME_MACHINE=aarch64_be
894 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
904 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
895905 exit ;;
896906 alpha:Linux:*:*)
897907 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
905915 esac
906916 objdump --private-headers /bin/sh | grep -q ld.so.1
907917 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
908 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
918 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
909919 exit ;;
910920 arc:Linux:*:* | arceb:Linux:*:*)
911 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
921 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
912922 exit ;;
913923 arm*:Linux:*:*)
914 eval $set_cc_for_build
924 eval "$set_cc_for_build"
915925 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
916926 | grep -q __ARM_EABI__
917927 then
918 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
928 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
919929 else
920930 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
921931 | grep -q __ARM_PCS_VFP
922932 then
923 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
933 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
924934 else
925 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
935 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
926936 fi
927937 fi
928938 exit ;;
929939 avr32*:Linux:*:*)
930 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
940 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
931941 exit ;;
932942 cris:Linux:*:*)
933 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
943 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
934944 exit ;;
935945 crisv32:Linux:*:*)
936 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
946 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
937947 exit ;;
938948 e2k:Linux:*:*)
939 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
949 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
940950 exit ;;
941951 frv:Linux:*:*)
942 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
952 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
943953 exit ;;
944954 hexagon:Linux:*:*)
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
955 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
946956 exit ;;
947957 i*86:Linux:*:*)
948 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
958 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
949959 exit ;;
950960 ia64:Linux:*:*)
951 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
961 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
952962 exit ;;
953963 k1om:Linux:*:*)
954 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
964 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
955965 exit ;;
956966 m32r*:Linux:*:*)
957 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
967 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
958968 exit ;;
959969 m68*:Linux:*:*)
960 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
970 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
961971 exit ;;
962972 mips:Linux:*:* | mips64:Linux:*:*)
963 eval $set_cc_for_build
964 sed 's/^ //' << EOF >$dummy.c
973 eval "$set_cc_for_build"
974 sed 's/^ //' << EOF > "$dummy.c"
965975 #undef CPU
966976 #undef ${UNAME_MACHINE}
967977 #undef ${UNAME_MACHINE}el
975985 #endif
976986 #endif
977987 EOF
978 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
979 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
988 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
989 test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
980990 ;;
981991 mips64el:Linux:*:*)
982 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
992 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
983993 exit ;;
984994 openrisc*:Linux:*:*)
985 echo or1k-unknown-linux-${LIBC}
995 echo or1k-unknown-linux-"$LIBC"
986996 exit ;;
987997 or32:Linux:*:* | or1k*:Linux:*:*)
988 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
998 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
989999 exit ;;
9901000 padre:Linux:*:*)
991 echo sparc-unknown-linux-${LIBC}
1001 echo sparc-unknown-linux-"$LIBC"
9921002 exit ;;
9931003 parisc64:Linux:*:* | hppa64:Linux:*:*)
994 echo hppa64-unknown-linux-${LIBC}
1004 echo hppa64-unknown-linux-"$LIBC"
9951005 exit ;;
9961006 parisc:Linux:*:* | hppa:Linux:*:*)
9971007 # Look for CPU level
9981008 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
999 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1000 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1001 *) echo hppa-unknown-linux-${LIBC} ;;
1009 PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
1010 PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
1011 *) echo hppa-unknown-linux-"$LIBC" ;;
10021012 esac
10031013 exit ;;
10041014 ppc64:Linux:*:*)
1005 echo powerpc64-unknown-linux-${LIBC}
1015 echo powerpc64-unknown-linux-"$LIBC"
10061016 exit ;;
10071017 ppc:Linux:*:*)
1008 echo powerpc-unknown-linux-${LIBC}
1018 echo powerpc-unknown-linux-"$LIBC"
10091019 exit ;;
10101020 ppc64le:Linux:*:*)
1011 echo powerpc64le-unknown-linux-${LIBC}
1021 echo powerpc64le-unknown-linux-"$LIBC"
10121022 exit ;;
10131023 ppcle:Linux:*:*)
1014 echo powerpcle-unknown-linux-${LIBC}
1024 echo powerpcle-unknown-linux-"$LIBC"
10151025 exit ;;
10161026 riscv32:Linux:*:* | riscv64:Linux:*:*)
1017 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1027 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10181028 exit ;;
10191029 s390:Linux:*:* | s390x:Linux:*:*)
1020 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1030 echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
10211031 exit ;;
10221032 sh64*:Linux:*:*)
1023 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1033 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10241034 exit ;;
10251035 sh*:Linux:*:*)
1026 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1036 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10271037 exit ;;
10281038 sparc:Linux:*:* | sparc64:Linux:*:*)
1029 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1039 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10301040 exit ;;
10311041 tile*:Linux:*:*)
1032 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1042 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10331043 exit ;;
10341044 vax:Linux:*:*)
1035 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1045 echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
10361046 exit ;;
10371047 x86_64:Linux:*:*)
1038 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
1048 if objdump -f /bin/sh | grep -q elf32-x86-64; then
1049 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
1050 else
1051 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
1052 fi
10391053 exit ;;
10401054 xtensa*:Linux:*:*)
1041 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1055 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10421056 exit ;;
10431057 i*86:DYNIX/ptx:4*:*)
10441058 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
10521066 # I am not positive that other SVR4 systems won't match this,
10531067 # I just have to hope. -- rms.
10541068 # Use sysv4.2uw... so that sysv4* matches it.
1055 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1069 echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
10561070 exit ;;
10571071 i*86:OS/2:*:*)
10581072 # If we were able to find `uname', then EMX Unix compatibility
10591073 # is probably installed.
1060 echo ${UNAME_MACHINE}-pc-os2-emx
1074 echo "$UNAME_MACHINE"-pc-os2-emx
10611075 exit ;;
10621076 i*86:XTS-300:*:STOP)
1063 echo ${UNAME_MACHINE}-unknown-stop
1077 echo "$UNAME_MACHINE"-unknown-stop
10641078 exit ;;
10651079 i*86:atheos:*:*)
1066 echo ${UNAME_MACHINE}-unknown-atheos
1080 echo "$UNAME_MACHINE"-unknown-atheos
10671081 exit ;;
10681082 i*86:syllable:*:*)
1069 echo ${UNAME_MACHINE}-pc-syllable
1083 echo "$UNAME_MACHINE"-pc-syllable
10701084 exit ;;
10711085 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1072 echo i386-unknown-lynxos${UNAME_RELEASE}
1086 echo i386-unknown-lynxos"$UNAME_RELEASE"
10731087 exit ;;
10741088 i*86:*DOS:*:*)
1075 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1089 echo "$UNAME_MACHINE"-pc-msdosdjgpp
10761090 exit ;;
10771091 i*86:*:4.*:*)
1078 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1092 UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
10791093 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1080 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1094 echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
10811095 else
1082 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1096 echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
10831097 fi
10841098 exit ;;
10851099 i*86:*:5:[678]*)
10891103 *Pentium) UNAME_MACHINE=i586 ;;
10901104 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10911105 esac
1092 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1106 echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
10931107 exit ;;
10941108 i*86:*:3.2:*)
10951109 if test -f /usr/options/cb.name; then
10961110 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1097 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1111 echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
10981112 elif /bin/uname -X 2>/dev/null >/dev/null ; then
10991113 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
11001114 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
11041118 && UNAME_MACHINE=i686
11051119 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
11061120 && UNAME_MACHINE=i686
1107 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1121 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
11081122 else
1109 echo ${UNAME_MACHINE}-pc-sysv32
1123 echo "$UNAME_MACHINE"-pc-sysv32
11101124 fi
11111125 exit ;;
11121126 pc:*:*:*)
11261140 exit ;;
11271141 i860:*:4.*:*) # i860-SVR4
11281142 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1129 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1143 echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
11301144 else # Add other i860-SVR4 vendors below as they are discovered.
1131 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1145 echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
11321146 fi
11331147 exit ;;
11341148 mini*:CTIX:SYS*5:*)
11481162 test -r /etc/.relid \
11491163 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11501164 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1151 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1165 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
11521166 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1153 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1167 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
11541168 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11551169 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11561170 && { echo i486-ncr-sysv4; exit; } ;;
11591173 test -r /etc/.relid \
11601174 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11611175 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1176 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
11631177 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1164 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1178 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
11651179 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1166 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1180 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
11671181 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1168 echo m68k-unknown-lynxos${UNAME_RELEASE}
1182 echo m68k-unknown-lynxos"$UNAME_RELEASE"
11691183 exit ;;
11701184 mc68030:UNIX_System_V:4.*:*)
11711185 echo m68k-atari-sysv4
11721186 exit ;;
11731187 TSUNAMI:LynxOS:2.*:*)
1174 echo sparc-unknown-lynxos${UNAME_RELEASE}
1188 echo sparc-unknown-lynxos"$UNAME_RELEASE"
11751189 exit ;;
11761190 rs6000:LynxOS:2.*:*)
1177 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1191 echo rs6000-unknown-lynxos"$UNAME_RELEASE"
11781192 exit ;;
11791193 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1180 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1194 echo powerpc-unknown-lynxos"$UNAME_RELEASE"
11811195 exit ;;
11821196 SM[BE]S:UNIX_SV:*:*)
1183 echo mips-dde-sysv${UNAME_RELEASE}
1197 echo mips-dde-sysv"$UNAME_RELEASE"
11841198 exit ;;
11851199 RM*:ReliantUNIX-*:*:*)
11861200 echo mips-sni-sysv4
11911205 *:SINIX-*:*:*)
11921206 if uname -p 2>/dev/null >/dev/null ; then
11931207 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1194 echo ${UNAME_MACHINE}-sni-sysv4
1208 echo "$UNAME_MACHINE"-sni-sysv4
11951209 else
11961210 echo ns32k-sni-sysv
11971211 fi
12111225 exit ;;
12121226 i*86:VOS:*:*)
12131227 # From Paul.Green@stratus.com.
1214 echo ${UNAME_MACHINE}-stratus-vos
1228 echo "$UNAME_MACHINE"-stratus-vos
12151229 exit ;;
12161230 *:VOS:*:*)
12171231 # From Paul.Green@stratus.com.
12181232 echo hppa1.1-stratus-vos
12191233 exit ;;
12201234 mc68*:A/UX:*:*)
1221 echo m68k-apple-aux${UNAME_RELEASE}
1235 echo m68k-apple-aux"$UNAME_RELEASE"
12221236 exit ;;
12231237 news*:NEWS-OS:6*:*)
12241238 echo mips-sony-newsos6
12251239 exit ;;
12261240 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12271241 if [ -d /usr/nec ]; then
1228 echo mips-nec-sysv${UNAME_RELEASE}
1242 echo mips-nec-sysv"$UNAME_RELEASE"
12291243 else
1230 echo mips-unknown-sysv${UNAME_RELEASE}
1244 echo mips-unknown-sysv"$UNAME_RELEASE"
12311245 fi
12321246 exit ;;
12331247 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
12461260 echo x86_64-unknown-haiku
12471261 exit ;;
12481262 SX-4:SUPER-UX:*:*)
1249 echo sx4-nec-superux${UNAME_RELEASE}
1263 echo sx4-nec-superux"$UNAME_RELEASE"
12501264 exit ;;
12511265 SX-5:SUPER-UX:*:*)
1252 echo sx5-nec-superux${UNAME_RELEASE}
1266 echo sx5-nec-superux"$UNAME_RELEASE"
12531267 exit ;;
12541268 SX-6:SUPER-UX:*:*)
1255 echo sx6-nec-superux${UNAME_RELEASE}
1269 echo sx6-nec-superux"$UNAME_RELEASE"
12561270 exit ;;
12571271 SX-7:SUPER-UX:*:*)
1258 echo sx7-nec-superux${UNAME_RELEASE}
1272 echo sx7-nec-superux"$UNAME_RELEASE"
12591273 exit ;;
12601274 SX-8:SUPER-UX:*:*)
1261 echo sx8-nec-superux${UNAME_RELEASE}
1275 echo sx8-nec-superux"$UNAME_RELEASE"
12621276 exit ;;
12631277 SX-8R:SUPER-UX:*:*)
1264 echo sx8r-nec-superux${UNAME_RELEASE}
1278 echo sx8r-nec-superux"$UNAME_RELEASE"
12651279 exit ;;
12661280 SX-ACE:SUPER-UX:*:*)
1267 echo sxace-nec-superux${UNAME_RELEASE}
1281 echo sxace-nec-superux"$UNAME_RELEASE"
12681282 exit ;;
12691283 Power*:Rhapsody:*:*)
1270 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1284 echo powerpc-apple-rhapsody"$UNAME_RELEASE"
12711285 exit ;;
12721286 *:Rhapsody:*:*)
1273 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1287 echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
12741288 exit ;;
12751289 *:Darwin:*:*)
12761290 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1277 eval $set_cc_for_build
1291 eval "$set_cc_for_build"
12781292 if test "$UNAME_PROCESSOR" = unknown ; then
12791293 UNAME_PROCESSOR=powerpc
12801294 fi
1281 if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1295 if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
12821296 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
12831297 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
12841298 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
13061320 # that Apple uses in portable devices.
13071321 UNAME_PROCESSOR=x86_64
13081322 fi
1309 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1323 echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
13101324 exit ;;
13111325 *:procnto*:*:* | *:QNX:[0123456789]*:*)
13121326 UNAME_PROCESSOR=`uname -p`
13141328 UNAME_PROCESSOR=i386
13151329 UNAME_MACHINE=pc
13161330 fi
1317 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1331 echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
13181332 exit ;;
13191333 *:QNX:*:4*)
13201334 echo i386-pc-qnx
13211335 exit ;;
13221336 NEO-*:NONSTOP_KERNEL:*:*)
1323 echo neo-tandem-nsk${UNAME_RELEASE}
1337 echo neo-tandem-nsk"$UNAME_RELEASE"
13241338 exit ;;
13251339 NSE-*:NONSTOP_KERNEL:*:*)
1326 echo nse-tandem-nsk${UNAME_RELEASE}
1340 echo nse-tandem-nsk"$UNAME_RELEASE"
13271341 exit ;;
13281342 NSR-*:NONSTOP_KERNEL:*:*)
1329 echo nsr-tandem-nsk${UNAME_RELEASE}
1343 echo nsr-tandem-nsk"$UNAME_RELEASE"
1344 exit ;;
1345 NSV-*:NONSTOP_KERNEL:*:*)
1346 echo nsv-tandem-nsk"$UNAME_RELEASE"
13301347 exit ;;
13311348 NSX-*:NONSTOP_KERNEL:*:*)
1332 echo nsx-tandem-nsk${UNAME_RELEASE}
1349 echo nsx-tandem-nsk"$UNAME_RELEASE"
13331350 exit ;;
13341351 *:NonStop-UX:*:*)
13351352 echo mips-compaq-nonstopux
13381355 echo bs2000-siemens-sysv
13391356 exit ;;
13401357 DS/*:UNIX_System_V:*:*)
1341 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1358 echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
13421359 exit ;;
13431360 *:Plan9:*:*)
13441361 # "uname -m" is not consistent, so use $cputype instead. 386
13491366 else
13501367 UNAME_MACHINE="$cputype"
13511368 fi
1352 echo ${UNAME_MACHINE}-unknown-plan9
1369 echo "$UNAME_MACHINE"-unknown-plan9
13531370 exit ;;
13541371 *:TOPS-10:*:*)
13551372 echo pdp10-unknown-tops10
13701387 echo pdp10-unknown-its
13711388 exit ;;
13721389 SEI:*:*:SEIUX)
1373 echo mips-sei-seiux${UNAME_RELEASE}
1390 echo mips-sei-seiux"$UNAME_RELEASE"
13741391 exit ;;
13751392 *:DragonFly:*:*)
1376 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1393 echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
13771394 exit ;;
13781395 *:*VMS:*:*)
13791396 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1380 case "${UNAME_MACHINE}" in
1397 case "$UNAME_MACHINE" in
13811398 A*) echo alpha-dec-vms ; exit ;;
13821399 I*) echo ia64-dec-vms ; exit ;;
13831400 V*) echo vax-dec-vms ; exit ;;
13861403 echo i386-pc-xenix
13871404 exit ;;
13881405 i*86:skyos:*:*)
1389 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
1406 echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
13901407 exit ;;
13911408 i*86:rdos:*:*)
1392 echo ${UNAME_MACHINE}-pc-rdos
1409 echo "$UNAME_MACHINE"-pc-rdos
13931410 exit ;;
13941411 i*86:AROS:*:*)
1395 echo ${UNAME_MACHINE}-pc-aros
1412 echo "$UNAME_MACHINE"-pc-aros
13961413 exit ;;
13971414 x86_64:VMkernel:*:*)
1398 echo ${UNAME_MACHINE}-unknown-esx
1415 echo "$UNAME_MACHINE"-unknown-esx
13991416 exit ;;
14001417 amd64:Isilon\ OneFS:*:*)
14011418 echo x86_64-unknown-onefs
14041421
14051422 echo "$0: unable to guess system type" >&2
14061423
1407 case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
1424 case "$UNAME_MACHINE:$UNAME_SYSTEM" in
14081425 mips:Linux | mips64:Linux)
14091426 # If we got here on MIPS GNU/Linux, output extra information.
14101427 cat >&2 <<EOF
14461463 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
14471464 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
14481465
1449 UNAME_MACHINE = ${UNAME_MACHINE}
1450 UNAME_RELEASE = ${UNAME_RELEASE}
1451 UNAME_SYSTEM = ${UNAME_SYSTEM}
1452 UNAME_VERSION = ${UNAME_VERSION}
1466 UNAME_MACHINE = "$UNAME_MACHINE"
1467 UNAME_RELEASE = "$UNAME_RELEASE"
1468 UNAME_SYSTEM = "$UNAME_SYSTEM"
1469 UNAME_VERSION = "$UNAME_VERSION"
14531470 EOF
14541471
14551472 exit 1
00 #! /bin/sh
11 # Configuration validation subroutine script.
2 # Copyright 1992-2017 Free Software Foundation, Inc.
3
4 timestamp='2017-11-23'
2 # Copyright 1992-2018 Free Software Foundation, Inc.
3
4 timestamp='2018-02-22'
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
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 * )
111111
112112 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
113113 # Here we must recognize all the valid KERNEL-OS combinations.
114 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
114 maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
115115 case $maybe_os in
116116 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
117117 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
119119 kopensolaris*-gnu* | cloudabi*-eabi* | \
120120 storm-chaos* | os2-emx* | rtmk-nova*)
121121 os=-$maybe_os
122 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
122 basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
123123 ;;
124124 android-linux)
125125 os=-linux-android
126 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
126 basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
127127 ;;
128128 *)
129 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
130 if [ $basic_machine != $1 ]
131 then os=`echo $1 | sed 's/.*-/-/'`
129 basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
130 if [ "$basic_machine" != "$1" ]
131 then os=`echo "$1" | sed 's/.*-/-/'`
132132 else os=; fi
133133 ;;
134134 esac
177177 ;;
178178 -sco6)
179179 os=-sco5v6
180 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
180 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
181181 ;;
182182 -sco5)
183183 os=-sco3.2v5
184 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
184 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
185185 ;;
186186 -sco4)
187187 os=-sco3.2v4
188 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
189189 ;;
190190 -sco3.2.[4-9]*)
191191 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
192 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
193193 ;;
194194 -sco3.2v[4-9]*)
195195 # Don't forget version if it is 3.2v4 or newer.
196 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
197197 ;;
198198 -sco5v6*)
199199 # Don't forget version if it is 3.2v4 or newer.
200 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
201201 ;;
202202 -sco*)
203203 os=-sco3.2v2
204 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
205205 ;;
206206 -udk*)
207 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
207 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
208208 ;;
209209 -isc)
210210 os=-isc2.2
211 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
212212 ;;
213213 -clix*)
214214 basic_machine=clipper-intergraph
215215 ;;
216216 -isc*)
217 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
218218 ;;
219219 -lynx*178)
220220 os=-lynxos178
226226 os=-lynxos
227227 ;;
228228 -ptx*)
229 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
229 basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
230230 ;;
231231 -psos*)
232232 os=-psos
295295 | nios | nios2 | nios2eb | nios2el \
296296 | ns16k | ns32k \
297297 | open8 | or1k | or1knd | or32 \
298 | pdp10 | pdp11 | pj | pjl \
298 | pdp10 | pj | pjl \
299299 | powerpc | powerpc64 | powerpc64le | powerpcle \
300300 | pru \
301301 | pyramid \
332332 basic_machine=$basic_machine-unknown
333333 os=-none
334334 ;;
335 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
335 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
336336 ;;
337337 ms1)
338338 basic_machine=mt-unknown
361361 ;;
362362 # Object if more than one company name word.
363363 *-*-*)
364 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
364 echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
365365 exit 1
366366 ;;
367367 # Recognize the basic CPU types with company name.
456456 # Recognize the various machine names and aliases which stand
457457 # for a CPU type and a company and sometimes even an OS.
458458 386bsd)
459 basic_machine=i386-unknown
459 basic_machine=i386-pc
460460 os=-bsd
461461 ;;
462462 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
490490 basic_machine=x86_64-pc
491491 ;;
492492 amd64-*)
493 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
493 basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
494494 ;;
495495 amdahl)
496496 basic_machine=580-amdahl
535535 os=-linux
536536 ;;
537537 blackfin-*)
538 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
538 basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
539539 os=-linux
540540 ;;
541541 bluegene*)
543543 os=-cnk
544544 ;;
545545 c54x-*)
546 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
546 basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
547547 ;;
548548 c55x-*)
549 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
549 basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
550550 ;;
551551 c6x-*)
552 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
552 basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
553553 ;;
554554 c90)
555555 basic_machine=c90-cray
647647 os=$os"spe"
648648 ;;
649649 e500v[12]-*)
650 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
650 basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
651651 os=$os"spe"
652652 ;;
653653 ebmon29k)
739739 hp9k8[0-9][0-9] | hp8[0-9][0-9])
740740 basic_machine=hppa1.0-hp
741741 ;;
742 hppa-next)
743 os=-nextstep3
744 ;;
745742 hppaosf)
746743 basic_machine=hppa1.1-hp
747744 os=-osf
754751 basic_machine=i370-ibm
755752 ;;
756753 i*86v32)
757 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
754 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
758755 os=-sysv32
759756 ;;
760757 i*86v4*)
761 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
758 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
762759 os=-sysv4
763760 ;;
764761 i*86v)
765 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
762 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
766763 os=-sysv
767764 ;;
768765 i*86sol2)
769 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
766 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
770767 os=-solaris2
771768 ;;
772769 i386mach)
773770 basic_machine=i386-mach
774771 os=-mach
775772 ;;
776 i386-vsta | vsta)
773 vsta)
777774 basic_machine=i386-unknown
778775 os=-vsta
779776 ;;
792789 os=-sysv
793790 ;;
794791 leon-*|leon[3-9]-*)
795 basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
792 basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
796793 ;;
797794 m68knommu)
798795 basic_machine=m68k-unknown
799796 os=-linux
800797 ;;
801798 m68knommu-*)
802 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
799 basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
803800 os=-linux
804 ;;
805 m88k-omron*)
806 basic_machine=m88k-omron
807801 ;;
808802 magnum | m3230)
809803 basic_machine=mips-mips
836830 os=-mint
837831 ;;
838832 mips3*-*)
839 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
833 basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
840834 ;;
841835 mips3*)
842 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
836 basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
843837 ;;
844838 monitor)
845839 basic_machine=m68k-rom68k
858852 os=-msdos
859853 ;;
860854 ms1-*)
861 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
855 basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
862856 ;;
863857 msys)
864858 basic_machine=i686-pc
945939 nsr-tandem)
946940 basic_machine=nsr-tandem
947941 ;;
942 nsv-tandem)
943 basic_machine=nsv-tandem
944 ;;
948945 nsx-tandem)
949946 basic_machine=nsx-tandem
950947 ;;
980977 os=-linux
981978 ;;
982979 parisc-*)
983 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
980 basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
984981 os=-linux
985982 ;;
986983 pbd)
996993 basic_machine=i386-pc
997994 ;;
998995 pc98-*)
999 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
996 basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1000997 ;;
1001998 pentium | p5 | k5 | k6 | nexgen | viac3)
1002999 basic_machine=i586-pc
10111008 basic_machine=i786-pc
10121009 ;;
10131010 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1014 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1011 basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10151012 ;;
10161013 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1017 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1014 basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10181015 ;;
10191016 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1020 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1017 basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10211018 ;;
10221019 pentium4-*)
1023 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1020 basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10241021 ;;
10251022 pn)
10261023 basic_machine=pn-gould
10301027 ppc | ppcbe) basic_machine=powerpc-unknown
10311028 ;;
10321029 ppc-* | ppcbe-*)
1033 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1030 basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10341031 ;;
10351032 ppcle | powerpclittle)
10361033 basic_machine=powerpcle-unknown
10371034 ;;
10381035 ppcle-* | powerpclittle-*)
1039 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1036 basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10401037 ;;
10411038 ppc64) basic_machine=powerpc64-unknown
10421039 ;;
1043 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1040 ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10441041 ;;
10451042 ppc64le | powerpc64little)
10461043 basic_machine=powerpc64le-unknown
10471044 ;;
10481045 ppc64le-* | powerpc64little-*)
1049 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1046 basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
10501047 ;;
10511048 ps2)
10521049 basic_machine=i386-ibm
11001097 sequent)
11011098 basic_machine=i386-sequent
11021099 ;;
1103 sh)
1104 basic_machine=sh-hitachi
1105 os=-hms
1106 ;;
11071100 sh5el)
11081101 basic_machine=sh5le-unknown
11091102 ;;
1110 sh64)
1111 basic_machine=sh64-unknown
1112 ;;
1113 sparclite-wrs | simso-wrs)
1103 simso-wrs)
11141104 basic_machine=sparclite-wrs
11151105 os=-vxworks
11161106 ;;
11291119 os=-sysv4
11301120 ;;
11311121 strongarm-* | thumb-*)
1132 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1122 basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
11331123 ;;
11341124 sun2)
11351125 basic_machine=m68000-sun
12431233 basic_machine=a29k-wrs
12441234 os=-vxworks
12451235 ;;
1246 wasm32)
1247 basic_machine=wasm32-unknown
1248 ;;
12491236 w65*)
12501237 basic_machine=w65-wdc
12511238 os=-none
12651252 basic_machine=xps100-honeywell
12661253 ;;
12671254 xscale-* | xscalee[bl]-*)
1268 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1255 basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
12691256 ;;
12701257 ymp)
12711258 basic_machine=ymp-cray
12721259 os=-unicos
1273 ;;
1274 z8k-*-coff)
1275 basic_machine=z8k-unknown
1276 os=-sim
1277 ;;
1278 z80-*-coff)
1279 basic_machine=z80-unknown
1280 os=-sim
12811260 ;;
12821261 none)
12831262 basic_machine=none-none
13071286 vax)
13081287 basic_machine=vax-dec
13091288 ;;
1310 pdp10)
1311 # there are many clones, so DEC is not a safe bet
1312 basic_machine=pdp10-unknown
1313 ;;
13141289 pdp11)
13151290 basic_machine=pdp11-dec
13161291 ;;
13201295 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
13211296 basic_machine=sh-unknown
13221297 ;;
1323 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1324 basic_machine=sparc-sun
1325 ;;
13261298 cydra)
13271299 basic_machine=cydra-cydrome
13281300 ;;
13421314 # Make sure to match an already-canonicalized machine name.
13431315 ;;
13441316 *)
1345 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1317 echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
13461318 exit 1
13471319 ;;
13481320 esac
13501322 # Here we canonicalize certain aliases for manufacturers.
13511323 case $basic_machine in
13521324 *-digital*)
1353 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1325 basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
13541326 ;;
13551327 *-commodore*)
1356 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1328 basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
13571329 ;;
13581330 *)
13591331 ;;
13761348 -solaris)
13771349 os=-solaris2
13781350 ;;
1379 -svr4*)
1380 os=-sysv4
1381 ;;
13821351 -unixware*)
13831352 os=-sysv4.2uw
13841353 ;;
13851354 -gnu/linux*)
13861355 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1356 ;;
1357 # es1800 is here to avoid being matched by es* (a different OS)
1358 -es1800*)
1359 os=-ose
13871360 ;;
13881361 # Now accept the basic system types.
13891362 # The portable systems comes first.
13971370 | -aos* | -aros* | -cloudabi* | -sortix* \
13981371 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13991372 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1400 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1373 | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
14011374 | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
14021375 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
14031376 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
14081381 | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
14091382 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
14101383 | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1411 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1384 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
14121385 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
14131386 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
14141387 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1415 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1388 | -morphos* | -superux* | -rtmk* | -windiss* \
14161389 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
14171390 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1418 | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
1391 | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
1392 | -midnightbsd*)
14191393 # Remember, each alternative MUST END IN *, to match a version number.
14201394 ;;
14211395 -qnx*)
14321406 -nto*)
14331407 os=`echo $os | sed -e 's|nto|nto-qnx|'`
14341408 ;;
1435 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1436 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1409 -sim | -xray | -os68k* | -v88r* \
1410 | -windows* | -osx | -abug | -netware* | -os9* \
14371411 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
14381412 ;;
14391413 -mac*)
1440 os=`echo $os | sed -e 's|mac|macos|'`
1414 os=`echo "$os" | sed -e 's|mac|macos|'`
14411415 ;;
14421416 -linux-dietlibc)
14431417 os=-linux-dietlibc
14461420 os=`echo $os | sed -e 's|linux|linux-gnu|'`
14471421 ;;
14481422 -sunos5*)
1449 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1423 os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
14501424 ;;
14511425 -sunos6*)
1452 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1426 os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
14531427 ;;
14541428 -opened*)
14551429 os=-openedition
14591433 ;;
14601434 -wince*)
14611435 os=-wince
1462 ;;
1463 -osfrose*)
1464 os=-osfrose
1465 ;;
1466 -osf*)
1467 os=-osf
14681436 ;;
14691437 -utek*)
14701438 os=-bsd
15121480 -oss*)
15131481 os=-sysv3
15141482 ;;
1515 -svr4)
1483 -svr4*)
15161484 os=-sysv4
15171485 ;;
15181486 -svr3)
15271495 -ose*)
15281496 os=-ose
15291497 ;;
1530 -es1800*)
1531 os=-ose
1532 ;;
1533 -xenix)
1534 os=-xenix
1535 ;;
15361498 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
15371499 os=-mint
1538 ;;
1539 -aros*)
1540 os=-aros
15411500 ;;
15421501 -zvmoe)
15431502 os=-zvmoe
15671526 *)
15681527 # Get rid of the `-' at the beginning of $os.
15691528 os=`echo $os | sed 's/[^-]*-//'`
1570 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1529 echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
15711530 exit 1
15721531 ;;
15731532 esac
16631622 *-be)
16641623 os=-beos
16651624 ;;
1666 *-haiku)
1667 os=-haiku
1668 ;;
16691625 *-ibm)
16701626 os=-aix
16711627 ;;
17191675 ;;
17201676 i370-*)
17211677 os=-mvs
1722 ;;
1723 *-next)
1724 os=-nextstep3
17251678 ;;
17261679 *-gould)
17271680 os=-sysv
18321785 vendor=stratus
18331786 ;;
18341787 esac
1835 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1788 basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
18361789 ;;
18371790 esac
18381791
1839 echo $basic_machine$os
1792 echo "$basic_machine$os"
18401793 exit
18411794
18421795 # Local variables:
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for GStreamer GObject Introspection overrides for Python 1.14.1.
2 # Generated by GNU Autoconf 2.69 for GStreamer GObject Introspection overrides for Python 1.14.2.
33 #
44 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
55 #
590590 # Identity of this package.
591591 PACKAGE_NAME='GStreamer GObject Introspection overrides for Python '
592592 PACKAGE_TARNAME='gst-python'
593 PACKAGE_VERSION='1.14.1'
594 PACKAGE_STRING='GStreamer GObject Introspection overrides for Python 1.14.1'
593 PACKAGE_VERSION='1.14.2'
594 PACKAGE_STRING='GStreamer GObject Introspection overrides for Python 1.14.2'
595595 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
596596 PACKAGE_URL=''
597597
13821382 # Omit some internal or obsolete options to make the list less imposing.
13831383 # This message is too long to be a string in the A/UX 3.1 sh.
13841384 cat <<_ACEOF
1385 \`configure' configures GStreamer GObject Introspection overrides for Python 1.14.1 to adapt to many kinds of systems.
1385 \`configure' configures GStreamer GObject Introspection overrides for Python 1.14.2 to adapt to many kinds of systems.
13861386
13871387 Usage: $0 [OPTION]... [VAR=VALUE]...
13881388
14541454
14551455 if test -n "$ac_init_help"; then
14561456 case $ac_init_help in
1457 short | recursive ) echo "Configuration of GStreamer GObject Introspection overrides for Python 1.14.1:";;
1457 short | recursive ) echo "Configuration of GStreamer GObject Introspection overrides for Python 1.14.2:";;
14581458 esac
14591459 cat <<\_ACEOF
14601460
15831583 test -n "$ac_init_help" && exit $ac_status
15841584 if $ac_init_version; then
15851585 cat <<\_ACEOF
1586 GStreamer GObject Introspection overrides for Python configure 1.14.1
1586 GStreamer GObject Introspection overrides for Python configure 1.14.2
15871587 generated by GNU Autoconf 2.69
15881588
15891589 Copyright (C) 2012 Free Software Foundation, Inc.
18611861 This file contains any messages produced by compilers while
18621862 running configure, to aid debugging if configure makes a mistake.
18631863
1864 It was created by GStreamer GObject Introspection overrides for Python $as_me 1.14.1, which was
1864 It was created by GStreamer GObject Introspection overrides for Python $as_me 1.14.2, which was
18651865 generated by GNU Autoconf 2.69. Invocation command line was
18661866
18671867 $ $0 $@
28392839
28402840 # Define the identity of the package.
28412841 PACKAGE='gst-python'
2842 VERSION='1.14.1'
2842 VERSION='1.14.2'
28432843
28442844
28452845 cat >>confdefs.h <<_ACEOF
30503050
30513051
30523052
3053 PACKAGE_VERSION_MAJOR=$(echo 1.14.1 | cut -d'.' -f1)
3054 PACKAGE_VERSION_MINOR=$(echo 1.14.1 | cut -d'.' -f2)
3055 PACKAGE_VERSION_MICRO=$(echo 1.14.1 | cut -d'.' -f3)
3053 PACKAGE_VERSION_MAJOR=$(echo 1.14.2 | cut -d'.' -f1)
3054 PACKAGE_VERSION_MINOR=$(echo 1.14.2 | cut -d'.' -f2)
3055 PACKAGE_VERSION_MICRO=$(echo 1.14.2 | cut -d'.' -f3)
30563056
30573057
30583058
30633063 { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
30643064 $as_echo_n "checking nano version... " >&6; }
30653065
3066 NANO=$(echo 1.14.1 | cut -d'.' -f4)
3066 NANO=$(echo 1.14.2 | cut -d'.' -f4)
30673067
30683068 if test x"$NANO" = x || test "x$NANO" = "x0" ; then
30693069 { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
31593159 ACLOCAL_AMFLAGS="-I m4 -I common/m4"
31603160
31613161
3162 GST_REQ=1.14.1
3162 GST_REQ=1.14.2
31633163
31643164 PYGOBJECT_REQ=3.8
31653165
1524415244 # report actual input values of CONFIG_FILES etc. instead of their
1524515245 # values after options handling.
1524615246 ac_log="
15247 This file was extended by GStreamer GObject Introspection overrides for Python $as_me 1.14.1, which was
15247 This file was extended by GStreamer GObject Introspection overrides for Python $as_me 1.14.2, which was
1524815248 generated by GNU Autoconf 2.69. Invocation command line was
1524915249
1525015250 CONFIG_FILES = $CONFIG_FILES
1531015310 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1531115311 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1531215312 ac_cs_version="\\
15313 GStreamer GObject Introspection overrides for Python config.status 1.14.1
15313 GStreamer GObject Introspection overrides for Python config.status 1.14.2
1531415314 configured by $0, generated by GNU Autoconf 2.69,
1531515315 with options \\"\$ac_cs_config\\"
1531615316
22 dnl initialize autoconf
33 dnl when going to/from release please set the nano (fourth number) right !
44 dnl releases only do Wall, cvs and prerelease does Werror too
5 AC_INIT(GStreamer GObject Introspection overrides for Python , 1.14.1,
5 AC_INIT(GStreamer GObject Introspection overrides for Python , 1.14.2,
66 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
77 gst-python)
88
3737
3838 dnl required versions of other packages
3939 dnl Note that they are runtime requirements
40 AC_SUBST(GST_REQ, 1.14.1)
40 AC_SUBST(GST_REQ, 1.14.2)
4141 AC_SUBST(PYGOBJECT_REQ, 3.8)
4242
4343 AC_DISABLE_STATIC
3131
3232 <release>
3333 <Version>
34 <revision>1.14.2</revision>
35 <branch>1.14</branch>
36 <name></name>
37 <created>2018-07-20</created>
38 <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.14.2.tar.xz" />
39 </Version>
40 </release>
41
42 <release>
43 <Version>
3444 <revision>1.14.1</revision>
3545 <branch>1.14</branch>
3646 <name></name>
3030
3131 PROGRAM=libtool
3232 PACKAGE=libtool
33 VERSION="2.4.6 Debian-2.4.6-2"
33 VERSION="2.4.6 Debian-2.4.6-2.1"
3434 package_revision=2.4.6
3535
3636
6363 # libraries, which are installed to $pkgauxdir.
6464
6565 # Set a version string for this script.
66 scriptversion=2015-01-20.17; # UTC
66 scriptversion=2015-10-12.13; # UTC
6767
6868 # General shell script boiler plate, and helper functions.
6969 # Written by Gary V. Vaughan, 2004
579579 {
580580 $debug_cmd
581581
582 func_quote_for_eval "$2"
583 eval "$1+=\\ \$func_quote_for_eval_result"
582 func_quote_arg pretty "$2"
583 eval "$1+=\\ \$func_quote_arg_result"
584584 }'
585585 else
586586 func_append_quoted ()
587587 {
588588 $debug_cmd
589589
590 func_quote_for_eval "$2"
591 eval "$1=\$$1\\ \$func_quote_for_eval_result"
590 func_quote_arg pretty "$2"
591 eval "$1=\$$1\\ \$func_quote_arg_result"
592592 }
593593 fi
594594
10901090 }
10911091
10921092
1093 # func_quote_for_eval ARG...
1094 # --------------------------
1095 # Aesthetically quote ARGs to be evaled later.
1096 # This function returns two values:
1097 # i) func_quote_for_eval_result
1098 # double-quoted, suitable for a subsequent eval
1099 # ii) func_quote_for_eval_unquoted_result
1093 # func_quote_portable EVAL ARG
1094 # ----------------------------
1095 # Internal function to portably implement func_quote_arg. Note that we still
1096 # keep attention to performance here so we as much as possible try to avoid
1097 # calling sed binary (so far O(N) complexity as long as func_append is O(1)).
1098 func_quote_portable ()
1099 {
1100 $debug_cmd
1101
1102 func_quote_portable_result=$2
1103
1104 # one-time-loop (easy break)
1105 while true
1106 do
1107 if $1; then
1108 func_quote_portable_result=`$ECHO "$2" | $SED \
1109 -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
1110 break
1111 fi
1112
1113 # Quote for eval.
1114 case $func_quote_portable_result in
1115 *[\\\`\"\$]*)
1116 case $func_quote_portable_result in
1117 *[\[\*\?]*)
1118 func_quote_portable_result=`$ECHO "$func_quote_portable_result" | $SED "$sed_quote_subst"`
1119 break
1120 ;;
1121 esac
1122
1123 func_quote_portable_old_IFS=$IFS
1124 for _G_char in '\' '`' '"' '$'
1125 do
1126 # STATE($1) PREV($2) SEPARATOR($3)
1127 set start "" ""
1128 func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
1129 IFS=$_G_char
1130 for _G_part in $func_quote_portable_result
1131 do
1132 case $1 in
1133 quote)
1134 func_append func_quote_portable_result "$3$2"
1135 set quote "$_G_part" "\\$_G_char"
1136 ;;
1137 start)
1138 set first "" ""
1139 func_quote_portable_result=
1140 ;;
1141 first)
1142 set quote "$_G_part" ""
1143 ;;
1144 esac
1145 done
1146 done
1147 IFS=$func_quote_portable_old_IFS
1148 ;;
1149 *) ;;
1150 esac
1151 break
1152 done
1153
1154 func_quote_portable_unquoted_result=$func_quote_portable_result
1155 case $func_quote_portable_result in
1156 # double-quote args containing shell metacharacters to delay
1157 # word splitting, command substitution and variable expansion
1158 # for a subsequent eval.
1159 # many bourne shells cannot handle close brackets correctly
1160 # in scan sets, so we specify it separately.
1161 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1162 func_quote_portable_result=\"$func_quote_portable_result\"
1163 ;;
1164 esac
1165 }
1166
1167
1168 # func_quotefast_eval ARG
1169 # -----------------------
1170 # Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
1171 # but optimized for speed. Result is stored in $func_quotefast_eval.
1172 if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
1173 func_quotefast_eval ()
1174 {
1175 printf -v func_quotefast_eval_result %q "$1"
1176 }
1177 else
1178 func_quotefast_eval ()
1179 {
1180 func_quote_portable false "$1"
1181 func_quotefast_eval_result=$func_quote_portable_result
1182 }
1183 fi
1184
1185
1186 # func_quote_arg MODEs ARG
1187 # ------------------------
1188 # Quote one ARG to be evaled later. MODEs argument may contain zero ore more
1189 # specifiers listed below separated by ',' character. This function returns two
1190 # values:
1191 # i) func_quote_arg_result
1192 # double-quoted (when needed), suitable for a subsequent eval
1193 # ii) func_quote_arg_unquoted_result
11001194 # has all characters that are still active within double
1101 # quotes backslashified.
1102 func_quote_for_eval ()
1195 # quotes backslashified. Available only if 'unquoted' is specified.
1196 #
1197 # Available modes:
1198 # ----------------
1199 # 'eval' (default)
1200 # - escape shell special characters
1201 # 'expand'
1202 # - the same as 'eval'; but do not quote variable references
1203 # 'pretty'
1204 # - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
1205 # later used in func_quote to get output like: 'echo "a b"' instead of
1206 # 'echo a\ b'. This is slower than default on some shells.
1207 # 'unquoted'
1208 # - produce also $func_quote_arg_unquoted_result which does not contain
1209 # wrapping double-quotes.
1210 #
1211 # Examples for 'func_quote_arg pretty,unquoted string':
1212 #
1213 # string | *_result | *_unquoted_result
1214 # ------------+-----------------------+-------------------
1215 # " | \" | \"
1216 # a b | "a b" | a b
1217 # "a b" | "\"a b\"" | \"a b\"
1218 # * | "*" | *
1219 # z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
1220 #
1221 # Examples for 'func_quote_arg pretty,unquoted,expand string':
1222 #
1223 # string | *_result | *_unquoted_result
1224 # --------------+---------------------+--------------------
1225 # z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
1226 func_quote_arg ()
1227 {
1228 _G_quote_expand=false
1229 case ,$1, in
1230 *,expand,*)
1231 _G_quote_expand=:
1232 ;;
1233 esac
1234
1235 case ,$1, in
1236 *,pretty,*|*,expand,*|*,unquoted,*)
1237 func_quote_portable $_G_quote_expand "$2"
1238 func_quote_arg_result=$func_quote_portable_result
1239 func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
1240 ;;
1241 *)
1242 # Faster quote-for-eval for some shells.
1243 func_quotefast_eval "$2"
1244 func_quote_arg_result=$func_quotefast_eval_result
1245 ;;
1246 esac
1247 }
1248
1249
1250 # func_quote MODEs ARGs...
1251 # ------------------------
1252 # Quote all ARGs to be evaled later and join them into single command. See
1253 # func_quote_arg's description for more info.
1254 func_quote ()
11031255 {
11041256 $debug_cmd
1105
1106 func_quote_for_eval_unquoted_result=
1107 func_quote_for_eval_result=
1257 _G_func_quote_mode=$1 ; shift
1258 func_quote_result=
11081259 while test 0 -lt $#; do
1109 case $1 in
1110 *[\\\`\"\$]*)
1111 _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
1112 *)
1113 _G_unquoted_arg=$1 ;;
1114 esac
1115 if test -n "$func_quote_for_eval_unquoted_result"; then
1116 func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
1260 func_quote_arg "$_G_func_quote_mode" "$1"
1261 if test -n "$func_quote_result"; then
1262 func_append func_quote_result " $func_quote_arg_result"
11171263 else
1118 func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
1119 fi
1120
1121 case $_G_unquoted_arg in
1122 # Double-quote args containing shell metacharacters to delay
1123 # word splitting, command substitution and variable expansion
1124 # for a subsequent eval.
1125 # Many Bourne shells cannot handle close brackets correctly
1126 # in scan sets, so we specify it separately.
1127 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1128 _G_quoted_arg=\"$_G_unquoted_arg\"
1129 ;;
1130 *)
1131 _G_quoted_arg=$_G_unquoted_arg
1132 ;;
1133 esac
1134
1135 if test -n "$func_quote_for_eval_result"; then
1136 func_append func_quote_for_eval_result " $_G_quoted_arg"
1137 else
1138 func_append func_quote_for_eval_result "$_G_quoted_arg"
1264 func_append func_quote_result "$func_quote_arg_result"
11391265 fi
11401266 shift
11411267 done
1142 }
1143
1144
1145 # func_quote_for_expand ARG
1146 # -------------------------
1147 # Aesthetically quote ARG to be evaled later; same as above,
1148 # but do not quote variable references.
1149 func_quote_for_expand ()
1150 {
1151 $debug_cmd
1152
1153 case $1 in
1154 *[\\\`\"]*)
1155 _G_arg=`$ECHO "$1" | $SED \
1156 -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
1157 *)
1158 _G_arg=$1 ;;
1159 esac
1160
1161 case $_G_arg in
1162 # Double-quote args containing shell metacharacters to delay
1163 # word splitting and command substitution for a subsequent eval.
1164 # Many Bourne shells cannot handle close brackets correctly
1165 # in scan sets, so we specify it separately.
1166 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1167 _G_arg=\"$_G_arg\"
1168 ;;
1169 esac
1170
1171 func_quote_for_expand_result=$_G_arg
11721268 }
11731269
11741270
12141310 _G_cmd=$1
12151311 _G_fail_exp=${2-':'}
12161312
1217 func_quote_for_expand "$_G_cmd"
1218 eval "func_notquiet $func_quote_for_expand_result"
1313 func_quote_arg pretty,expand "$_G_cmd"
1314 eval "func_notquiet $func_quote_arg_result"
12191315
12201316 $opt_dry_run || {
12211317 eval "$_G_cmd"
12401336 _G_fail_exp=${2-':'}
12411337
12421338 $opt_quiet || {
1243 func_quote_for_expand "$_G_cmd"
1244 eval "func_echo $func_quote_for_expand_result"
1339 func_quote_arg expand,pretty "$_G_cmd"
1340 eval "func_echo $func_quote_arg_result"
12451341 }
12461342
12471343 $opt_dry_run || {
13691465 #! /bin/sh
13701466
13711467 # Set a version string for this script.
1372 scriptversion=2014-01-07.03; # UTC
1468 scriptversion=2015-10-12.13; # UTC
13731469
13741470 # A portable, pluggable option parser for Bourne shell.
13751471 # Written by Gary V. Vaughan, 2010
15291625 {
15301626 $debug_cmd
15311627
1628 _G_rc_run_hooks=false
1629
15321630 case " $hookable_fns " in
15331631 *" $1 "*) ;;
15341632 *) func_fatal_error "'$1' does not support hook funcions.n" ;;
15371635 eval _G_hook_fns=\$$1_hooks; shift
15381636
15391637 for _G_hook in $_G_hook_fns; do
1540 eval $_G_hook '"$@"'
1541
1542 # store returned options list back into positional
1543 # parameters for next 'cmd' execution.
1544 eval _G_hook_result=\$${_G_hook}_result
1545 eval set dummy "$_G_hook_result"; shift
1638 if eval $_G_hook '"$@"'; then
1639 # store returned options list back into positional
1640 # parameters for next 'cmd' execution.
1641 eval _G_hook_result=\$${_G_hook}_result
1642 eval set dummy "$_G_hook_result"; shift
1643 _G_rc_run_hooks=:
1644 fi
15461645 done
15471646
1548 func_quote_for_eval ${1+"$@"}
1549 func_run_hooks_result=$func_quote_for_eval_result
1647 $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
15501648 }
15511649
15521650
15561654 ## --------------- ##
15571655
15581656 # In order to add your own option parsing hooks, you must accept the
1559 # full positional parameter list in your hook function, remove any
1560 # options that you action, and then pass back the remaining unprocessed
1657 # full positional parameter list in your hook function, you may remove/edit
1658 # any options that you action, and then pass back the remaining unprocessed
15611659 # options in '<hooked_function_name>_result', escaped suitably for
1562 # 'eval'. Like this:
1660 # 'eval'. In this case you also must return $EXIT_SUCCESS to let the
1661 # hook's caller know that it should pay attention to
1662 # '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
1663 # arguments are left untouched by the hook and therefore caller will ignore the
1664 # result variable.
1665 #
1666 # Like this:
15631667 #
15641668 # my_options_prep ()
15651669 # {
15691673 # usage_message=$usage_message'
15701674 # -s, --silent don'\''t print informational messages
15711675 # '
1572 #
1573 # func_quote_for_eval ${1+"$@"}
1574 # my_options_prep_result=$func_quote_for_eval_result
1676 # # No change in '$@' (ignored completely by this hook). There is
1677 # # no need to do the equivalent (but slower) action:
1678 # # func_quote eval ${1+"$@"}
1679 # # my_options_prep_result=$func_quote_result
1680 # false
15751681 # }
15761682 # func_add_hook func_options_prep my_options_prep
15771683 #
15801686 # {
15811687 # $debug_cmd
15821688 #
1689 # args_changed=false
1690 #
15831691 # # Note that for efficiency, we parse as many options as we can
15841692 # # recognise in a loop before passing the remainder back to the
15851693 # # caller on the first unrecognised argument we encounter.
15861694 # while test $# -gt 0; do
15871695 # opt=$1; shift
15881696 # case $opt in
1589 # --silent|-s) opt_silent=: ;;
1697 # --silent|-s) opt_silent=:
1698 # args_changed=:
1699 # ;;
15901700 # # Separate non-argument short options:
15911701 # -s*) func_split_short_opt "$_G_opt"
15921702 # set dummy "$func_split_short_opt_name" \
15931703 # "-$func_split_short_opt_arg" ${1+"$@"}
15941704 # shift
1705 # args_changed=:
15951706 # ;;
1596 # *) set dummy "$_G_opt" "$*"; shift; break ;;
1707 # *) # Make sure the first unrecognised option "$_G_opt"
1708 # # is added back to "$@", we could need that later
1709 # # if $args_changed is true.
1710 # set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
15971711 # esac
15981712 # done
15991713 #
1600 # func_quote_for_eval ${1+"$@"}
1601 # my_silent_option_result=$func_quote_for_eval_result
1714 # if $args_changed; then
1715 # func_quote eval ${1+"$@"}
1716 # my_silent_option_result=$func_quote_result
1717 # fi
1718 #
1719 # $args_changed
16021720 # }
16031721 # func_add_hook func_parse_options my_silent_option
16041722 #
16101728 # $opt_silent && $opt_verbose && func_fatal_help "\
16111729 # '--silent' and '--verbose' options are mutually exclusive."
16121730 #
1613 # func_quote_for_eval ${1+"$@"}
1614 # my_option_validation_result=$func_quote_for_eval_result
1731 # false
16151732 # }
16161733 # func_add_hook func_validate_options my_option_validation
16171734 #
1618 # You'll alse need to manually amend $usage_message to reflect the extra
1735 # You'll also need to manually amend $usage_message to reflect the extra
16191736 # options you parse. It's preferable to append if you can, so that
16201737 # multiple option parsing hooks can be added safely.
1738
1739
1740 # func_options_finish [ARG]...
1741 # ----------------------------
1742 # Finishing the option parse loop (call 'func_options' hooks ATM).
1743 func_options_finish ()
1744 {
1745 $debug_cmd
1746
1747 _G_func_options_finish_exit=false
1748 if func_run_hooks func_options ${1+"$@"}; then
1749 func_options_finish_result=$func_run_hooks_result
1750 _G_func_options_finish_exit=:
1751 fi
1752
1753 $_G_func_options_finish_exit
1754 }
16211755
16221756
16231757 # func_options [ARG]...
16291763 {
16301764 $debug_cmd
16311765
1632 func_options_prep ${1+"$@"}
1633 eval func_parse_options \
1634 ${func_options_prep_result+"$func_options_prep_result"}
1635 eval func_validate_options \
1636 ${func_parse_options_result+"$func_parse_options_result"}
1637
1638 eval func_run_hooks func_options \
1639 ${func_validate_options_result+"$func_validate_options_result"}
1640
1641 # save modified positional parameters for caller
1642 func_options_result=$func_run_hooks_result
1766 _G_rc_options=false
1767
1768 for my_func in options_prep parse_options validate_options options_finish
1769 do
1770 if eval func_$my_func '${1+"$@"}'; then
1771 eval _G_res_var='$'"func_${my_func}_result"
1772 eval set dummy "$_G_res_var" ; shift
1773 _G_rc_options=:
1774 fi
1775 done
1776
1777 # Save modified positional parameters for caller. As a top-level
1778 # options-parser function we always need to set the 'func_options_result'
1779 # variable (regardless the $_G_rc_options value).
1780 if $_G_rc_options; then
1781 func_options_result=$_G_res_var
1782 else
1783 func_quote eval ${1+"$@"}
1784 func_options_result=$func_quote_result
1785 fi
1786
1787 $_G_rc_options
16431788 }
16441789
16451790
16481793 # All initialisations required before starting the option parse loop.
16491794 # Note that when calling hook functions, we pass through the list of
16501795 # positional parameters. If a hook function modifies that list, and
1651 # needs to propogate that back to rest of this script, then the complete
1796 # needs to propagate that back to rest of this script, then the complete
16521797 # modified list must be put in 'func_run_hooks_result' before
1653 # returning.
1798 # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
16541799 func_hookable func_options_prep
16551800 func_options_prep ()
16561801 {
16601805 opt_verbose=false
16611806 opt_warning_types=
16621807
1663 func_run_hooks func_options_prep ${1+"$@"}
1664
1665 # save modified positional parameters for caller
1666 func_options_prep_result=$func_run_hooks_result
1808 _G_rc_options_prep=false
1809 if func_run_hooks func_options_prep ${1+"$@"}; then
1810 _G_rc_options_prep=:
1811 # save modified positional parameters for caller
1812 func_options_prep_result=$func_run_hooks_result
1813 fi
1814
1815 $_G_rc_options_prep
16671816 }
16681817
16691818
16771826
16781827 func_parse_options_result=
16791828
1829 _G_rc_parse_options=false
16801830 # this just eases exit handling
16811831 while test $# -gt 0; do
16821832 # Defer to hook functions for initial option parsing, so they
16831833 # get priority in the event of reusing an option name.
1684 func_run_hooks func_parse_options ${1+"$@"}
1685
1686 # Adjust func_parse_options positional parameters to match
1687 eval set dummy "$func_run_hooks_result"; shift
1834 if func_run_hooks func_parse_options ${1+"$@"}; then
1835 eval set dummy "$func_run_hooks_result"; shift
1836 _G_rc_parse_options=:
1837 fi
16881838
16891839 # Break out of the loop if we already parsed every option.
16901840 test $# -gt 0 || break
16911841
1842 _G_match_parse_options=:
16921843 _G_opt=$1
16931844 shift
16941845 case $_G_opt in
17031854 ;;
17041855
17051856 --warnings|--warning|-W)
1706 test $# = 0 && func_missing_arg $_G_opt && break
1857 if test $# = 0 && func_missing_arg $_G_opt; then
1858 _G_rc_parse_options=:
1859 break
1860 fi
17071861 case " $warning_categories $1" in
17081862 *" $1 "*)
17091863 # trailing space prevents matching last $1 above
17561910 shift
17571911 ;;
17581912
1759 --) break ;;
1913 --) _G_rc_parse_options=: ; break ;;
17601914 -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
1761 *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
1915 *) set dummy "$_G_opt" ${1+"$@"}; shift
1916 _G_match_parse_options=false
1917 break
1918 ;;
17621919 esac
1920
1921 $_G_match_parse_options && _G_rc_parse_options=:
17631922 done
17641923
1765 # save modified positional parameters for caller
1766 func_quote_for_eval ${1+"$@"}
1767 func_parse_options_result=$func_quote_for_eval_result
1924
1925 if $_G_rc_parse_options; then
1926 # save modified positional parameters for caller
1927 func_quote eval ${1+"$@"}
1928 func_parse_options_result=$func_quote_result
1929 fi
1930
1931 $_G_rc_parse_options
17681932 }
17691933
17701934
17771941 {
17781942 $debug_cmd
17791943
1944 _G_rc_validate_options=false
1945
17801946 # Display all warnings if -W was not given.
17811947 test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
17821948
1783 func_run_hooks func_validate_options ${1+"$@"}
1949 if func_run_hooks func_validate_options ${1+"$@"}; then
1950 # save modified positional parameters for caller
1951 func_validate_options_result=$func_run_hooks_result
1952 _G_rc_validate_options=:
1953 fi
17841954
17851955 # Bail if the options were screwed!
17861956 $exit_cmd $EXIT_FAILURE
17871957
1788 # save modified positional parameters for caller
1789 func_validate_options_result=$func_run_hooks_result
1958 $_G_rc_validate_options
17901959 }
17911960
17921961
20672236 compiler: $LTCC
20682237 compiler flags: $LTCFLAGS
20692238 linker: $LD (gnu? $with_gnu_ld)
2070 version: $progname $scriptversion Debian-2.4.6-2
2239 version: $progname $scriptversion Debian-2.4.6-2.1
20712240 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
20722241 autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
20732242
22692438 nonopt=
22702439 preserve_args=
22712440
2441 _G_rc_lt_options_prep=:
2442
22722443 # Shorthand for --mode=foo, only valid as the first argument
22732444 case $1 in
22742445 clean|clea|cle|cl)
22922463 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
22932464 shift; set dummy --mode uninstall ${1+"$@"}; shift
22942465 ;;
2466 *)
2467 _G_rc_lt_options_prep=false
2468 ;;
22952469 esac
22962470
2297 # Pass back the list of options.
2298 func_quote_for_eval ${1+"$@"}
2299 libtool_options_prep_result=$func_quote_for_eval_result
2471 if $_G_rc_lt_options_prep; then
2472 # Pass back the list of options.
2473 func_quote eval ${1+"$@"}
2474 libtool_options_prep_result=$func_quote_result
2475 fi
2476
2477 $_G_rc_lt_options_prep
23002478 }
23012479 func_add_hook func_options_prep libtool_options_prep
23022480
23082486 {
23092487 $debug_cmd
23102488
2489 _G_rc_lt_parse_options=false
2490
23112491 # Perform our own loop to consume as many options as possible in
23122492 # each iteration.
23132493 while test $# -gt 0; do
2494 _G_match_lt_parse_options=:
23142495 _G_opt=$1
23152496 shift
23162497 case $_G_opt in
23852566 func_append preserve_args " $_G_opt"
23862567 ;;
23872568
2388 # An option not handled by this hook function:
2389 *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
2569 # An option not handled by this hook function:
2570 *) set dummy "$_G_opt" ${1+"$@"} ; shift
2571 _G_match_lt_parse_options=false
2572 break
2573 ;;
23902574 esac
2575 $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
23912576 done
23922577
2393
2394 # save modified positional parameters for caller
2395 func_quote_for_eval ${1+"$@"}
2396 libtool_parse_options_result=$func_quote_for_eval_result
2578 if $_G_rc_lt_parse_options; then
2579 # save modified positional parameters for caller
2580 func_quote eval ${1+"$@"}
2581 libtool_parse_options_result=$func_quote_result
2582 fi
2583
2584 $_G_rc_lt_parse_options
23972585 }
23982586 func_add_hook func_parse_options libtool_parse_options
23992587
24502638 }
24512639
24522640 # Pass back the unparsed argument list
2453 func_quote_for_eval ${1+"$@"}
2454 libtool_validate_options_result=$func_quote_for_eval_result
2641 func_quote eval ${1+"$@"}
2642 libtool_validate_options_result=$func_quote_result
24552643 }
24562644 func_add_hook func_validate_options libtool_validate_options
24572645
34173605 esac
34183606 done
34193607
3420 func_quote_for_eval "$libobj"
3421 test "X$libobj" != "X$func_quote_for_eval_result" \
3608 func_quote_arg pretty "$libobj"
3609 test "X$libobj" != "X$func_quote_arg_result" \
34223610 && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
34233611 && func_warning "libobj name '$libobj' may not contain shell special characters."
34243612 func_dirname_and_basename "$obj" "/" ""
34913679
34923680 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
34933681 srcfile=$func_to_tool_file_result
3494 func_quote_for_eval "$srcfile"
3495 qsrcfile=$func_quote_for_eval_result
3682 func_quote_arg pretty "$srcfile"
3683 qsrcfile=$func_quote_arg_result
34963684
34973685 # Only build a PIC object if we are building libtool libraries.
34983686 if test yes = "$build_libtool_libs"; then
40954283 case $nonopt in *shtool*) :;; *) false;; esac
40964284 then
40974285 # Aesthetically quote it.
4098 func_quote_for_eval "$nonopt"
4099 install_prog="$func_quote_for_eval_result "
4286 func_quote_arg pretty "$nonopt"
4287 install_prog="$func_quote_arg_result "
41004288 arg=$1
41014289 shift
41024290 else
41064294
41074295 # The real first argument should be the name of the installation program.
41084296 # Aesthetically quote it.
4109 func_quote_for_eval "$arg"
4110 func_append install_prog "$func_quote_for_eval_result"
4297 func_quote_arg pretty "$arg"
4298 func_append install_prog "$func_quote_arg_result"
41114299 install_shared_prog=$install_prog
41124300 case " $install_prog " in
41134301 *[\\\ /]cp\ *) install_cp=: ;;
41644352 esac
41654353
41664354 # Aesthetically quote the argument.
4167 func_quote_for_eval "$arg"
4168 func_append install_prog " $func_quote_for_eval_result"
4355 func_quote_arg pretty "$arg"
4356 func_append install_prog " $func_quote_arg_result"
41694357 if test -n "$arg2"; then
4170 func_quote_for_eval "$arg2"
4358 func_quote_arg pretty "$arg2"
41714359 fi
4172 func_append install_shared_prog " $func_quote_for_eval_result"
4360 func_append install_shared_prog " $func_quote_arg_result"
41734361 done
41744362
41754363 test -z "$install_prog" && \
41804368
41814369 if test -n "$install_override_mode" && $no_mode; then
41824370 if $install_cp; then :; else
4183 func_quote_for_eval "$install_override_mode"
4184 func_append install_shared_prog " -m $func_quote_for_eval_result"
4371 func_quote_arg pretty "$install_override_mode"
4372 func_append install_shared_prog " -m $func_quote_arg_result"
41854373 fi
41864374 fi
41874375
44774665 relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
44784666
44794667 $opt_quiet || {
4480 func_quote_for_expand "$relink_command"
4481 eval "func_echo $func_quote_for_expand_result"
4668 func_quote_arg expand,pretty "$relink_command"
4669 eval "func_echo $func_quote_arg_result"
44824670 }
44834671 if eval "$relink_command"; then :
44844672 else
52575445 if test \"\$libtool_execute_magic\" != \"$magic\"; then
52585446 file=\"\$0\""
52595447
5260 qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
5448 func_quote_arg pretty "$ECHO"
5449 qECHO=$func_quote_arg_result
52615450 $ECHO "\
52625451
52635452 # A function that is used when there is no print builtin or printf.
52675456 \$1
52685457 _LTECHO_EOF'
52695458 }
5270 ECHO=\"$qECHO\"
5459 ECHO=$qECHO
52715460 fi
52725461
52735462 # Very basic option parsing. These options are (a) specific to
66106799 while test "$#" -gt 0; do
66116800 arg=$1
66126801 shift
6613 func_quote_for_eval "$arg"
6614 qarg=$func_quote_for_eval_unquoted_result
6615 func_append libtool_args " $func_quote_for_eval_result"
6802 func_quote_arg pretty,unquoted "$arg"
6803 qarg=$func_quote_arg_unquoted_result
6804 func_append libtool_args " $func_quote_arg_result"
66166805
66176806 # If the previous option needs an argument, assign it.
66186807 if test -n "$prev"; then
72107399 save_ifs=$IFS; IFS=,
72117400 for flag in $args; do
72127401 IFS=$save_ifs
7213 func_quote_for_eval "$flag"
7214 func_append arg " $func_quote_for_eval_result"
7215 func_append compiler_flags " $func_quote_for_eval_result"
7402 func_quote_arg pretty "$flag"
7403 func_append arg " $func_quote_arg_result"
7404 func_append compiler_flags " $func_quote_arg_result"
72167405 done
72177406 IFS=$save_ifs
72187407 func_stripname ' ' '' "$arg"
72267415 save_ifs=$IFS; IFS=,
72277416 for flag in $args; do
72287417 IFS=$save_ifs
7229 func_quote_for_eval "$flag"
7230 func_append arg " $wl$func_quote_for_eval_result"
7231 func_append compiler_flags " $wl$func_quote_for_eval_result"
7232 func_append linker_flags " $func_quote_for_eval_result"
7418 func_quote_arg pretty "$flag"
7419 func_append arg " $wl$func_quote_arg_result"
7420 func_append compiler_flags " $wl$func_quote_arg_result"
7421 func_append linker_flags " $func_quote_arg_result"
72337422 done
72347423 IFS=$save_ifs
72357424 func_stripname ' ' '' "$arg"
72537442
72547443 # -msg_* for osf cc
72557444 -msg_*)
7256 func_quote_for_eval "$arg"
7257 arg=$func_quote_for_eval_result
7445 func_quote_arg pretty "$arg"
7446 arg=$func_quote_arg_result
72587447 ;;
72597448
72607449 # Flags to be passed through unchanged, with rationale:
72787467 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
72797468 -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
72807469 -specs=*|-fsanitize=*)
7281 func_quote_for_eval "$arg"
7282 arg=$func_quote_for_eval_result
7470 func_quote_arg pretty "$arg"
7471 arg=$func_quote_arg_result
72837472 func_append compile_command " $arg"
72847473 func_append finalize_command " $arg"
72857474 func_append compiler_flags " $arg"
73007489 continue
73017490 else
73027491 # Otherwise treat like 'Some other compiler flag' below
7303 func_quote_for_eval "$arg"
7304 arg=$func_quote_for_eval_result
7492 func_quote_arg pretty "$arg"
7493 arg=$func_quote_arg_result
73057494 fi
73067495 ;;
73077496
73087497 # Some other compiler flag.
73097498 -* | +*)
7310 func_quote_for_eval "$arg"
7311 arg=$func_quote_for_eval_result
7499 func_quote_arg pretty "$arg"
7500 arg=$func_quote_arg_result
73127501 ;;
73137502
73147503 *.$objext)
74287617 *)
74297618 # Unknown arguments in both finalize_command and compile_command need
74307619 # to be aesthetically quoted because they are evaled later.
7431 func_quote_for_eval "$arg"
7432 arg=$func_quote_for_eval_result
7620 func_quote_arg pretty "$arg"
7621 arg=$func_quote_arg_result
74337622 ;;
74347623 esac # arg
74357624
994110130 for cmd in $concat_cmds; do
994210131 IFS=$save_ifs
994310132 $opt_quiet || {
9944 func_quote_for_expand "$cmd"
9945 eval "func_echo $func_quote_for_expand_result"
10133 func_quote_arg expand,pretty "$cmd"
10134 eval "func_echo $func_quote_arg_result"
994610135 }
994710136 $opt_dry_run || eval "$cmd" || {
994810137 lt_exit=$?
1003510224 eval cmd=\"$cmd\"
1003610225 IFS=$save_ifs
1003710226 $opt_quiet || {
10038 func_quote_for_expand "$cmd"
10039 eval "func_echo $func_quote_for_expand_result"
10227 func_quote_arg expand,pretty "$cmd"
10228 eval "func_echo $func_quote_arg_result"
1004010229 }
1004110230 $opt_dry_run || eval "$cmd" || {
1004210231 lt_exit=$?
1051010699 elif eval var_value=\$$var; test -z "$var_value"; then
1051110700 relink_command="$var=; export $var; $relink_command"
1051210701 else
10513 func_quote_for_eval "$var_value"
10514 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
10702 func_quote_arg pretty "$var_value"
10703 relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
1051510704 fi
1051610705 done
10517 relink_command="(cd `pwd`; $relink_command)"
10518 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
10706 func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)"
10707 relink_command=$func_quote_arg_unquoted_result
1051910708 fi
1052010709
1052110710 # Only actually do things if not in dry run mode.
1075510944 elif eval var_value=\$$var; test -z "$var_value"; then
1075610945 relink_command="$var=; export $var; $relink_command"
1075710946 else
10758 func_quote_for_eval "$var_value"
10759 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
10947 func_quote_arg pretty,unquoted "$var_value"
10948 relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
1076010949 fi
1076110950 done
1076210951 # Quote the link command for shipping.
1076310952 relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
10764 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
10953 func_quote_arg pretty,unquoted "$relink_command"
10954 relink_command=$func_quote_arg_unquoted_result
1076510955 if test yes = "$hardcode_automatic"; then
1076610956 relink_command=
1076710957 fi
00 project('gst-python', 'c', 'cpp',
1 version : '1.14.1',
1 version : '1.14.2',
22 meson_version : '>= 0.36.0',
33 default_options : [ 'warning_level=1',
44 'c_std=gnu99',