ffi 1.13.0 → 1.15.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +127 -0
  3. data/Gemfile +1 -4
  4. data/README.md +14 -2
  5. data/Rakefile +43 -29
  6. data/ext/ffi_c/AbstractMemory.c +24 -25
  7. data/ext/ffi_c/Buffer.c +2 -7
  8. data/ext/ffi_c/Call.c +3 -9
  9. data/ext/ffi_c/ClosurePool.c +64 -11
  10. data/ext/ffi_c/ClosurePool.h +3 -1
  11. data/ext/ffi_c/DynamicLibrary.c +1 -6
  12. data/ext/ffi_c/Function.c +31 -16
  13. data/ext/ffi_c/Function.h +0 -4
  14. data/ext/ffi_c/FunctionInfo.c +2 -6
  15. data/ext/ffi_c/LastError.c +2 -6
  16. data/ext/ffi_c/MemoryPointer.c +2 -7
  17. data/ext/ffi_c/MemoryPointer.h +0 -4
  18. data/ext/ffi_c/MethodHandle.c +4 -8
  19. data/ext/ffi_c/Platform.c +4 -9
  20. data/ext/ffi_c/Pointer.c +24 -25
  21. data/ext/ffi_c/Pointer.h +0 -4
  22. data/ext/ffi_c/Struct.c +3 -6
  23. data/ext/ffi_c/StructByValue.c +2 -7
  24. data/ext/ffi_c/StructLayout.c +2 -6
  25. data/ext/ffi_c/Thread.c +0 -5
  26. data/ext/ffi_c/Thread.h +1 -6
  27. data/ext/ffi_c/Type.c +1 -1
  28. data/ext/ffi_c/Types.c +6 -7
  29. data/ext/ffi_c/Types.h +3 -4
  30. data/ext/ffi_c/Variadic.c +14 -9
  31. data/ext/ffi_c/extconf.rb +25 -10
  32. data/ext/ffi_c/libffi/.travis/bfin-sim.exp +1 -1
  33. data/ext/ffi_c/libffi/.travis/m32r-sim.exp +1 -1
  34. data/ext/ffi_c/libffi/.travis/moxie-sim.exp +1 -1
  35. data/ext/ffi_c/libffi/.travis/or1k-sim.exp +1 -1
  36. data/ext/ffi_c/libffi/.travis/powerpc-eabisim.exp +1 -1
  37. data/ext/ffi_c/libffi/.travis/wine-sim.exp +1 -1
  38. data/ext/ffi_c/libffi/Makefile.am +48 -58
  39. data/ext/ffi_c/libffi/Makefile.in +420 -156
  40. data/ext/ffi_c/libffi/README.md +4 -0
  41. data/ext/ffi_c/libffi/config.guess +552 -331
  42. data/ext/ffi_c/libffi/config.sub +1321 -1306
  43. data/ext/ffi_c/libffi/configure +158 -96
  44. data/ext/ffi_c/libffi/configure.ac +6 -1
  45. data/ext/ffi_c/libffi/configure.host +32 -20
  46. data/ext/ffi_c/libffi/doc/Makefile.in +8 -5
  47. data/ext/ffi_c/libffi/fficonfig.h.in +6 -0
  48. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -1
  49. data/ext/ffi_c/libffi/include/Makefile.in +8 -5
  50. data/ext/ffi_c/libffi/install-sh +23 -13
  51. data/ext/ffi_c/libffi/ltmain.sh +156 -61
  52. data/ext/ffi_c/libffi/man/Makefile.in +8 -5
  53. data/ext/ffi_c/libffi/missing +8 -8
  54. data/ext/ffi_c/libffi/msvcc.sh +11 -11
  55. data/ext/ffi_c/libffi/src/aarch64/ffi.c +45 -35
  56. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +10 -5
  57. data/ext/ffi_c/libffi/src/aarch64/internal.h +1 -0
  58. data/ext/ffi_c/libffi/src/aarch64/sysv.S +1 -1
  59. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +1 -1
  60. data/ext/ffi_c/libffi/src/arm/ffi.c +22 -0
  61. data/ext/ffi_c/libffi/src/arm/sysv.S +4 -4
  62. data/ext/ffi_c/libffi/src/closures.c +23 -6
  63. data/ext/ffi_c/libffi/src/csky/ffi.c +395 -0
  64. data/ext/ffi_c/libffi/src/csky/ffitarget.h +63 -0
  65. data/ext/ffi_c/libffi/src/csky/sysv.S +371 -0
  66. data/ext/ffi_c/libffi/src/dlmalloc.c +1 -1
  67. data/ext/ffi_c/libffi/src/kvx/asm.h +5 -0
  68. data/ext/ffi_c/libffi/src/kvx/ffi.c +273 -0
  69. data/ext/ffi_c/libffi/src/kvx/ffitarget.h +75 -0
  70. data/ext/ffi_c/libffi/src/kvx/sysv.S +127 -0
  71. data/ext/ffi_c/libffi/src/mips/ffi.c +5 -1
  72. data/ext/ffi_c/libffi/src/mips/ffitarget.h +1 -1
  73. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +13 -1
  74. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +1 -1
  75. data/ext/ffi_c/libffi/src/powerpc/linux64.S +8 -0
  76. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +13 -1
  77. data/ext/ffi_c/libffi/src/prep_cif.c +1 -1
  78. data/ext/ffi_c/libffi/src/x86/ffi.c +8 -2
  79. data/ext/ffi_c/libffi/src/x86/ffi64.c +7 -0
  80. data/ext/ffi_c/libffi/src/x86/ffiw64.c +5 -0
  81. data/ext/ffi_c/libffi/src/x86/sysv.S +2 -2
  82. data/ext/ffi_c/libffi/src/x86/unix64.S +1 -2
  83. data/ext/ffi_c/libffi/src/x86/win64.S +3 -2
  84. data/ext/ffi_c/libffi/src/x86/win64_intel.S +3 -2
  85. data/ext/ffi_c/libffi/testsuite/Makefile.in +9 -6
  86. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +22 -2
  87. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +4 -4
  88. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2 -2
  89. data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +2 -0
  90. data/ffi.gemspec +1 -2
  91. data/lib/ffi/abstract_memory.rb +44 -0
  92. data/lib/ffi/autopointer.rb +1 -1
  93. data/lib/ffi/ffi.rb +1 -0
  94. data/lib/ffi/io.rb +3 -3
  95. data/lib/ffi/library.rb +3 -3
  96. data/lib/ffi/managedstruct.rb +2 -2
  97. data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  98. data/lib/ffi/platform/aarch64-freebsd/types.conf +2 -2
  99. data/lib/ffi/platform/aarch64-freebsd12/types.conf +113 -60
  100. data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  101. data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  102. data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  103. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +4 -22
  104. data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  105. data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  106. data/lib/ffi/platform.rb +17 -7
  107. data/lib/ffi/pointer.rb +2 -2
  108. data/lib/ffi/tools/const_generator.rb +6 -4
  109. data/lib/ffi/tools/struct_generator.rb +2 -1
  110. data/lib/ffi/variadic.rb +1 -10
  111. data/lib/ffi/version.rb +1 -1
  112. data/lib/ffi.rb +3 -4
  113. data/rakelib/ffi_gem_helper.rb +65 -0
  114. metadata +21 -28
  115. data/.appveyor.yml +0 -30
  116. data/.github/workflows/ci.yml +0 -64
  117. data/.gitignore +0 -25
  118. data/.gitmodules +0 -4
  119. data/.travis.yml +0 -58
  120. data/.yardopts +0 -5
  121. data/ext/ffi_c/win32/stdbool.h +0 -8
  122. data/ext/ffi_c/win32/stdint.h +0 -201
@@ -31,7 +31,7 @@
31
31
 
32
32
  PROGRAM=libtool
33
33
  PACKAGE=libtool
34
- VERSION="2.4.6 Debian-2.4.6-2"
34
+ VERSION="2.4.6 Debian-2.4.6-14"
35
35
  package_revision=2.4.6
36
36
 
37
37
 
@@ -387,7 +387,7 @@ EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
387
387
  # putting '$debug_cmd' at the start of all your functions, you can get
388
388
  # bash to show function call trace with:
389
389
  #
390
- # debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
390
+ # debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
391
391
  debug_cmd=${debug_cmd-":"}
392
392
  exit_cmd=:
393
393
 
@@ -1370,7 +1370,7 @@ func_lt_ver ()
1370
1370
  #! /bin/sh
1371
1371
 
1372
1372
  # Set a version string for this script.
1373
- scriptversion=2014-01-07.03; # UTC
1373
+ scriptversion=2015-10-07.11; # UTC
1374
1374
 
1375
1375
  # A portable, pluggable option parser for Bourne shell.
1376
1376
  # Written by Gary V. Vaughan, 2010
@@ -1530,6 +1530,8 @@ func_run_hooks ()
1530
1530
  {
1531
1531
  $debug_cmd
1532
1532
 
1533
+ _G_rc_run_hooks=false
1534
+
1533
1535
  case " $hookable_fns " in
1534
1536
  *" $1 "*) ;;
1535
1537
  *) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -1538,16 +1540,16 @@ func_run_hooks ()
1538
1540
  eval _G_hook_fns=\$$1_hooks; shift
1539
1541
 
1540
1542
  for _G_hook in $_G_hook_fns; do
1541
- eval $_G_hook '"$@"'
1542
-
1543
- # store returned options list back into positional
1544
- # parameters for next 'cmd' execution.
1545
- eval _G_hook_result=\$${_G_hook}_result
1546
- eval set dummy "$_G_hook_result"; shift
1543
+ if eval $_G_hook '"$@"'; then
1544
+ # store returned options list back into positional
1545
+ # parameters for next 'cmd' execution.
1546
+ eval _G_hook_result=\$${_G_hook}_result
1547
+ eval set dummy "$_G_hook_result"; shift
1548
+ _G_rc_run_hooks=:
1549
+ fi
1547
1550
  done
1548
1551
 
1549
- func_quote_for_eval ${1+"$@"}
1550
- func_run_hooks_result=$func_quote_for_eval_result
1552
+ $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
1551
1553
  }
1552
1554
 
1553
1555
 
@@ -1557,10 +1559,16 @@ func_run_hooks ()
1557
1559
  ## --------------- ##
1558
1560
 
1559
1561
  # In order to add your own option parsing hooks, you must accept the
1560
- # full positional parameter list in your hook function, remove any
1561
- # options that you action, and then pass back the remaining unprocessed
1562
+ # full positional parameter list in your hook function, you may remove/edit
1563
+ # any options that you action, and then pass back the remaining unprocessed
1562
1564
  # options in '<hooked_function_name>_result', escaped suitably for
1563
- # 'eval'. Like this:
1565
+ # 'eval'. In this case you also must return $EXIT_SUCCESS to let the
1566
+ # hook's caller know that it should pay attention to
1567
+ # '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
1568
+ # arguments are left untouched by the hook and therefore caller will ignore the
1569
+ # result variable.
1570
+ #
1571
+ # Like this:
1564
1572
  #
1565
1573
  # my_options_prep ()
1566
1574
  # {
@@ -1570,9 +1578,11 @@ func_run_hooks ()
1570
1578
  # usage_message=$usage_message'
1571
1579
  # -s, --silent don'\''t print informational messages
1572
1580
  # '
1573
- #
1574
- # func_quote_for_eval ${1+"$@"}
1575
- # my_options_prep_result=$func_quote_for_eval_result
1581
+ # # No change in '$@' (ignored completely by this hook). There is
1582
+ # # no need to do the equivalent (but slower) action:
1583
+ # # func_quote_for_eval ${1+"$@"}
1584
+ # # my_options_prep_result=$func_quote_for_eval_result
1585
+ # false
1576
1586
  # }
1577
1587
  # func_add_hook func_options_prep my_options_prep
1578
1588
  #
@@ -1581,25 +1591,37 @@ func_run_hooks ()
1581
1591
  # {
1582
1592
  # $debug_cmd
1583
1593
  #
1594
+ # args_changed=false
1595
+ #
1584
1596
  # # Note that for efficiency, we parse as many options as we can
1585
1597
  # # recognise in a loop before passing the remainder back to the
1586
1598
  # # caller on the first unrecognised argument we encounter.
1587
1599
  # while test $# -gt 0; do
1588
1600
  # opt=$1; shift
1589
1601
  # case $opt in
1590
- # --silent|-s) opt_silent=: ;;
1602
+ # --silent|-s) opt_silent=:
1603
+ # args_changed=:
1604
+ # ;;
1591
1605
  # # Separate non-argument short options:
1592
1606
  # -s*) func_split_short_opt "$_G_opt"
1593
1607
  # set dummy "$func_split_short_opt_name" \
1594
1608
  # "-$func_split_short_opt_arg" ${1+"$@"}
1595
1609
  # shift
1610
+ # args_changed=:
1596
1611
  # ;;
1597
- # *) set dummy "$_G_opt" "$*"; shift; break ;;
1612
+ # *) # Make sure the first unrecognised option "$_G_opt"
1613
+ # # is added back to "$@", we could need that later
1614
+ # # if $args_changed is true.
1615
+ # set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
1598
1616
  # esac
1599
1617
  # done
1600
1618
  #
1601
- # func_quote_for_eval ${1+"$@"}
1602
- # my_silent_option_result=$func_quote_for_eval_result
1619
+ # if $args_changed; then
1620
+ # func_quote_for_eval ${1+"$@"}
1621
+ # my_silent_option_result=$func_quote_for_eval_result
1622
+ # fi
1623
+ #
1624
+ # $args_changed
1603
1625
  # }
1604
1626
  # func_add_hook func_parse_options my_silent_option
1605
1627
  #
@@ -1611,16 +1633,32 @@ func_run_hooks ()
1611
1633
  # $opt_silent && $opt_verbose && func_fatal_help "\
1612
1634
  # '--silent' and '--verbose' options are mutually exclusive."
1613
1635
  #
1614
- # func_quote_for_eval ${1+"$@"}
1615
- # my_option_validation_result=$func_quote_for_eval_result
1636
+ # false
1616
1637
  # }
1617
1638
  # func_add_hook func_validate_options my_option_validation
1618
1639
  #
1619
- # You'll alse need to manually amend $usage_message to reflect the extra
1640
+ # You'll also need to manually amend $usage_message to reflect the extra
1620
1641
  # options you parse. It's preferable to append if you can, so that
1621
1642
  # multiple option parsing hooks can be added safely.
1622
1643
 
1623
1644
 
1645
+ # func_options_finish [ARG]...
1646
+ # ----------------------------
1647
+ # Finishing the option parse loop (call 'func_options' hooks ATM).
1648
+ func_options_finish ()
1649
+ {
1650
+ $debug_cmd
1651
+
1652
+ _G_func_options_finish_exit=false
1653
+ if func_run_hooks func_options ${1+"$@"}; then
1654
+ func_options_finish_result=$func_run_hooks_result
1655
+ _G_func_options_finish_exit=:
1656
+ fi
1657
+
1658
+ $_G_func_options_finish_exit
1659
+ }
1660
+
1661
+
1624
1662
  # func_options [ARG]...
1625
1663
  # ---------------------
1626
1664
  # All the functions called inside func_options are hookable. See the
@@ -1630,17 +1668,28 @@ func_options ()
1630
1668
  {
1631
1669
  $debug_cmd
1632
1670
 
1633
- func_options_prep ${1+"$@"}
1634
- eval func_parse_options \
1635
- ${func_options_prep_result+"$func_options_prep_result"}
1636
- eval func_validate_options \
1637
- ${func_parse_options_result+"$func_parse_options_result"}
1671
+ _G_rc_options=false
1638
1672
 
1639
- eval func_run_hooks func_options \
1640
- ${func_validate_options_result+"$func_validate_options_result"}
1673
+ for my_func in options_prep parse_options validate_options options_finish
1674
+ do
1675
+ if eval func_$my_func '${1+"$@"}'; then
1676
+ eval _G_res_var='$'"func_${my_func}_result"
1677
+ eval set dummy "$_G_res_var" ; shift
1678
+ _G_rc_options=:
1679
+ fi
1680
+ done
1681
+
1682
+ # Save modified positional parameters for caller. As a top-level
1683
+ # options-parser function we always need to set the 'func_options_result'
1684
+ # variable (regardless the $_G_rc_options value).
1685
+ if $_G_rc_options; then
1686
+ func_options_result=$_G_res_var
1687
+ else
1688
+ func_quote_for_eval ${1+"$@"}
1689
+ func_options_result=$func_quote_for_eval_result
1690
+ fi
1641
1691
 
1642
- # save modified positional parameters for caller
1643
- func_options_result=$func_run_hooks_result
1692
+ $_G_rc_options
1644
1693
  }
1645
1694
 
1646
1695
 
@@ -1649,9 +1698,9 @@ func_options ()
1649
1698
  # All initialisations required before starting the option parse loop.
1650
1699
  # Note that when calling hook functions, we pass through the list of
1651
1700
  # positional parameters. If a hook function modifies that list, and
1652
- # needs to propogate that back to rest of this script, then the complete
1701
+ # needs to propagate that back to rest of this script, then the complete
1653
1702
  # modified list must be put in 'func_run_hooks_result' before
1654
- # returning.
1703
+ # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
1655
1704
  func_hookable func_options_prep
1656
1705
  func_options_prep ()
1657
1706
  {
@@ -1661,10 +1710,14 @@ func_options_prep ()
1661
1710
  opt_verbose=false
1662
1711
  opt_warning_types=
1663
1712
 
1664
- func_run_hooks func_options_prep ${1+"$@"}
1713
+ _G_rc_options_prep=false
1714
+ if func_run_hooks func_options_prep ${1+"$@"}; then
1715
+ _G_rc_options_prep=:
1716
+ # save modified positional parameters for caller
1717
+ func_options_prep_result=$func_run_hooks_result
1718
+ fi
1665
1719
 
1666
- # save modified positional parameters for caller
1667
- func_options_prep_result=$func_run_hooks_result
1720
+ $_G_rc_options_prep
1668
1721
  }
1669
1722
 
1670
1723
 
@@ -1678,18 +1731,20 @@ func_parse_options ()
1678
1731
 
1679
1732
  func_parse_options_result=
1680
1733
 
1734
+ _G_rc_parse_options=false
1681
1735
  # this just eases exit handling
1682
1736
  while test $# -gt 0; do
1683
1737
  # Defer to hook functions for initial option parsing, so they
1684
1738
  # get priority in the event of reusing an option name.
1685
- func_run_hooks func_parse_options ${1+"$@"}
1686
-
1687
- # Adjust func_parse_options positional parameters to match
1688
- eval set dummy "$func_run_hooks_result"; shift
1739
+ if func_run_hooks func_parse_options ${1+"$@"}; then
1740
+ eval set dummy "$func_run_hooks_result"; shift
1741
+ _G_rc_parse_options=:
1742
+ fi
1689
1743
 
1690
1744
  # Break out of the loop if we already parsed every option.
1691
1745
  test $# -gt 0 || break
1692
1746
 
1747
+ _G_match_parse_options=:
1693
1748
  _G_opt=$1
1694
1749
  shift
1695
1750
  case $_G_opt in
@@ -1704,7 +1759,10 @@ func_parse_options ()
1704
1759
  ;;
1705
1760
 
1706
1761
  --warnings|--warning|-W)
1707
- test $# = 0 && func_missing_arg $_G_opt && break
1762
+ if test $# = 0 && func_missing_arg $_G_opt; then
1763
+ _G_rc_parse_options=:
1764
+ break
1765
+ fi
1708
1766
  case " $warning_categories $1" in
1709
1767
  *" $1 "*)
1710
1768
  # trailing space prevents matching last $1 above
@@ -1757,15 +1815,25 @@ func_parse_options ()
1757
1815
  shift
1758
1816
  ;;
1759
1817
 
1760
- --) break ;;
1818
+ --) _G_rc_parse_options=: ; break ;;
1761
1819
  -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
1762
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
1820
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
1821
+ _G_match_parse_options=false
1822
+ break
1823
+ ;;
1763
1824
  esac
1825
+
1826
+ $_G_match_parse_options && _G_rc_parse_options=:
1764
1827
  done
1765
1828
 
1766
- # save modified positional parameters for caller
1767
- func_quote_for_eval ${1+"$@"}
1768
- func_parse_options_result=$func_quote_for_eval_result
1829
+
1830
+ if $_G_rc_parse_options; then
1831
+ # save modified positional parameters for caller
1832
+ func_quote_for_eval ${1+"$@"}
1833
+ func_parse_options_result=$func_quote_for_eval_result
1834
+ fi
1835
+
1836
+ $_G_rc_parse_options
1769
1837
  }
1770
1838
 
1771
1839
 
@@ -1778,16 +1846,21 @@ func_validate_options ()
1778
1846
  {
1779
1847
  $debug_cmd
1780
1848
 
1849
+ _G_rc_validate_options=false
1850
+
1781
1851
  # Display all warnings if -W was not given.
1782
1852
  test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
1783
1853
 
1784
- func_run_hooks func_validate_options ${1+"$@"}
1854
+ if func_run_hooks func_validate_options ${1+"$@"}; then
1855
+ # save modified positional parameters for caller
1856
+ func_validate_options_result=$func_run_hooks_result
1857
+ _G_rc_validate_options=:
1858
+ fi
1785
1859
 
1786
1860
  # Bail if the options were screwed!
1787
1861
  $exit_cmd $EXIT_FAILURE
1788
1862
 
1789
- # save modified positional parameters for caller
1790
- func_validate_options_result=$func_run_hooks_result
1863
+ $_G_rc_validate_options
1791
1864
  }
1792
1865
 
1793
1866
 
@@ -2068,7 +2141,7 @@ include the following information:
2068
2141
  compiler: $LTCC
2069
2142
  compiler flags: $LTCFLAGS
2070
2143
  linker: $LD (gnu? $with_gnu_ld)
2071
- version: $progname $scriptversion Debian-2.4.6-2
2144
+ version: $progname $scriptversion Debian-2.4.6-14
2072
2145
  automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
2073
2146
  autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
2074
2147
 
@@ -2270,6 +2343,8 @@ libtool_options_prep ()
2270
2343
  nonopt=
2271
2344
  preserve_args=
2272
2345
 
2346
+ _G_rc_lt_options_prep=:
2347
+
2273
2348
  # Shorthand for --mode=foo, only valid as the first argument
2274
2349
  case $1 in
2275
2350
  clean|clea|cle|cl)
@@ -2293,11 +2368,18 @@ libtool_options_prep ()
2293
2368
  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
2294
2369
  shift; set dummy --mode uninstall ${1+"$@"}; shift
2295
2370
  ;;
2371
+ *)
2372
+ _G_rc_lt_options_prep=false
2373
+ ;;
2296
2374
  esac
2297
2375
 
2298
- # Pass back the list of options.
2299
- func_quote_for_eval ${1+"$@"}
2300
- libtool_options_prep_result=$func_quote_for_eval_result
2376
+ if $_G_rc_lt_options_prep; then
2377
+ # Pass back the list of options.
2378
+ func_quote_for_eval ${1+"$@"}
2379
+ libtool_options_prep_result=$func_quote_for_eval_result
2380
+ fi
2381
+
2382
+ $_G_rc_lt_options_prep
2301
2383
  }
2302
2384
  func_add_hook func_options_prep libtool_options_prep
2303
2385
 
@@ -2309,9 +2391,12 @@ libtool_parse_options ()
2309
2391
  {
2310
2392
  $debug_cmd
2311
2393
 
2394
+ _G_rc_lt_parse_options=false
2395
+
2312
2396
  # Perform our own loop to consume as many options as possible in
2313
2397
  # each iteration.
2314
2398
  while test $# -gt 0; do
2399
+ _G_match_lt_parse_options=:
2315
2400
  _G_opt=$1
2316
2401
  shift
2317
2402
  case $_G_opt in
@@ -2386,15 +2471,22 @@ libtool_parse_options ()
2386
2471
  func_append preserve_args " $_G_opt"
2387
2472
  ;;
2388
2473
 
2389
- # An option not handled by this hook function:
2390
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
2474
+ # An option not handled by this hook function:
2475
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
2476
+ _G_match_lt_parse_options=false
2477
+ break
2478
+ ;;
2391
2479
  esac
2480
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
2392
2481
  done
2393
2482
 
2483
+ if $_G_rc_lt_parse_options; then
2484
+ # save modified positional parameters for caller
2485
+ func_quote_for_eval ${1+"$@"}
2486
+ libtool_parse_options_result=$func_quote_for_eval_result
2487
+ fi
2394
2488
 
2395
- # save modified positional parameters for caller
2396
- func_quote_for_eval ${1+"$@"}
2397
- libtool_parse_options_result=$func_quote_for_eval_result
2489
+ $_G_rc_lt_parse_options
2398
2490
  }
2399
2491
  func_add_hook func_parse_options libtool_parse_options
2400
2492
 
@@ -7275,10 +7367,13 @@ func_mode_link ()
7275
7367
  # -specs=* GCC specs files
7276
7368
  # -stdlib=* select c++ std lib with clang
7277
7369
  # -fsanitize=* Clang/GCC memory and address sanitizer
7370
+ # -fuse-ld=* Linker select flags for GCC
7371
+ # -static-* direct GCC to link specific libraries statically
7372
+ # -fcilkplus Cilk Plus language extension features for C/C++
7278
7373
  -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
7279
7374
  -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
7280
7375
  -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
7281
- -specs=*|-fsanitize=*)
7376
+ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
7282
7377
  func_quote_for_eval "$arg"
7283
7378
  arg=$func_quote_for_eval_result
7284
7379
  func_append compile_command " $arg"
@@ -1,7 +1,7 @@
1
- # Makefile.in generated by automake 1.15.1 from Makefile.am.
1
+ # Makefile.in generated by automake 1.16.1 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
- # Copyright (C) 1994-2017 Free Software Foundation, Inc.
4
+ # Copyright (C) 1994-2018 Free Software Foundation, Inc.
5
5
 
6
6
  # This Makefile.in is free software; the Free Software Foundation
7
7
  # gives unlimited permission to copy and/or distribute it,
@@ -333,8 +333,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
333
333
  *config.status*) \
334
334
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
335
335
  *) \
336
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
337
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
336
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
337
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
338
338
  esac;
339
339
 
340
340
  $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -401,7 +401,10 @@ ctags CTAGS:
401
401
  cscope cscopelist:
402
402
 
403
403
 
404
- distdir: $(DISTFILES)
404
+ distdir: $(BUILT_SOURCES)
405
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
406
+
407
+ distdir-am: $(DISTFILES)
405
408
  @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
406
409
  topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
407
410
  list='$(DISTFILES)'; \
@@ -1,9 +1,9 @@
1
1
  #! /bin/sh
2
2
  # Common wrapper for a few potentially missing GNU programs.
3
3
 
4
- scriptversion=2013-10-28.13; # UTC
4
+ scriptversion=2018-03-07.03; # UTC
5
5
 
6
- # Copyright (C) 1996-2014 Free Software Foundation, Inc.
6
+ # Copyright (C) 1996-2018 Free Software Foundation, Inc.
7
7
  # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
8
8
 
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
17
17
  # GNU General Public License for more details.
18
18
 
19
19
  # You should have received a copy of the GNU General Public License
20
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
21
21
 
22
22
  # As a special exception to the GNU General Public License, if you
23
23
  # distribute this file as part of a program that contains a
@@ -101,9 +101,9 @@ else
101
101
  exit $st
102
102
  fi
103
103
 
104
- perl_URL=http://www.perl.org/
105
- flex_URL=http://flex.sourceforge.net/
106
- gnu_software_URL=http://www.gnu.org/software
104
+ perl_URL=https://www.perl.org/
105
+ flex_URL=https://github.com/westes/flex
106
+ gnu_software_URL=https://www.gnu.org/software
107
107
 
108
108
  program_details ()
109
109
  {
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
207
207
  exit $st
208
208
 
209
209
  # Local variables:
210
- # eval: (add-hook 'write-file-hooks 'time-stamp)
210
+ # eval: (add-hook 'before-save-hook 'time-stamp)
211
211
  # time-stamp-start: "scriptversion="
212
212
  # time-stamp-format: "%:y-%02m-%02d.%02H"
213
- # time-stamp-time-zone: "UTC"
213
+ # time-stamp-time-zone: "UTC0"
214
214
  # time-stamp-end: "; # UTC"
215
215
  # End:
@@ -165,24 +165,24 @@ do
165
165
  shift 1
166
166
  ;;
167
167
  -I)
168
- p=$(cygpath -m $2)
169
- args="$args -I$p"
170
- includes="$includes -I$p"
168
+ p=$(cygpath -ma "$2")
169
+ args="$args -I\"$p\""
170
+ includes="$includes -I\"$p\""
171
171
  shift 2
172
172
  ;;
173
173
  -I*)
174
- p=$(cygpath -m ${1#-I})
175
- args="$args -I$p"
176
- includes="$includes -I$p"
174
+ p=$(cygpath -ma "${1#-I}")
175
+ args="$args -I\"$p\""
176
+ includes="$includes -I\"$p\""
177
177
  shift 1
178
178
  ;;
179
179
  -L)
180
- p=$(cygpath -m $2)
180
+ p=$(cygpath -ma $2)
181
181
  linkargs="$linkargs -LIBPATH:$p"
182
182
  shift 2
183
183
  ;;
184
184
  -L*)
185
- p=$(cygpath -m ${1#-L})
185
+ p=$(cygpath -ma ${1#-L})
186
186
  linkargs="$linkargs -LIBPATH:$p"
187
187
  shift 1
188
188
  ;;
@@ -256,12 +256,12 @@ do
256
256
  shift 2
257
257
  ;;
258
258
  *.S)
259
- src=$1
259
+ src="$(cygpath -ma $1)"
260
260
  assembly="true"
261
261
  shift 1
262
262
  ;;
263
263
  *.c)
264
- args="$args $1"
264
+ args="$args $(cygpath -ma $1)"
265
265
  shift 1
266
266
  ;;
267
267
  *)
@@ -312,7 +312,7 @@ if [ -n "$assembly" ]; then
312
312
  echo "$cl -nologo -EP $includes $defines $src > $ppsrc"
313
313
  fi
314
314
 
315
- "$cl" -nologo -EP $includes $defines $src > $ppsrc || exit $?
315
+ eval "\"$cl\" -nologo -EP $includes $defines $src" > $ppsrc || exit $?
316
316
  output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')"
317
317
  if [ $ml = "armasm" ]; then
318
318
  args="-nologo -g -oldit $armasm_output $ppsrc -errorReport:prompt"