+2019-12-30 Olivier Hainque <hainque@adacore.com>
+
+ * config/vxworks/stdint.h: New file. Include _yvals.h
+ then stdint-gcc.h.
+ * config/t-vxworks: Arrange to install the stdint.h wrapper.
+ * config.gcc (*-*-vxworks*): Add stdint-gcc.h to $extra_headers
+ so it gets copied. Set use_gcc_stdint to request _not_ crafting
+ stdint.h through the common Makefile rules.
+
2019-12-30 Olivier Hainque <hainque@adacore.com>
* config/vxworks/_yvals.h: New file.
extra_headers="${extra_headers} ../vxworks/vxworks-predef.h"
target_has_targetcm="yes"
- use_gcc_stdint=provide
- tm_file="${tm_file} vxworks-stdint.h"
-
# This private header exposes a consistent interface for checks on
# the VxWorks version our runtime header files need to perform, based on
# what the system headers adverstise:
extra_headers="${extra_headers} ../vxworks/math.h ../vxworks/complex.h"
extra_headers="${extra_headers} ../vxworks/inttypes.h ../vxworks/setjmp.h"
+ # We provide stdint.h ...
+
+ tm_file="${tm_file} vxworks-stdint.h"
+
+ # .. only through the yvals conditional wrapping mentioned above
+ # to abide by the VxWorks 7 expectations. The final copy is performed
+ # explicitly by a t-vxworks Makefile rule.
+
+ use_gcc_stdint=none
+ extra_headers="${extra_headers} ../../ginclude/stdint-gcc.h"
+
case ${enable_threads} in
no) ;;
"" | yes | vxworks) thread_file='vxworks' ;;
$(COMPILE) $<
$(POSTCOMPILE)
+# Arrange to install our stdint.h wrapper, by copying it in the
+# build-time include dir before this include dir is installed and after
+# stmp-int-hdrs removes it (because it was told we don't provide it).
+
+INSTALL_HEADERS += install-stdint.h
+
+install-stdint.h: stmp-int-hdrs
+ cp -p $(srcdir)/config/vxworks/stdint.h include/stdint.h
+ chmod a+r include/stdint.h
+
+$(INSTALL_HEADERS_DIR): install-stdint.h
+
# Both the kernel and RTP headers provide limits.h. They embed VxWorks
# specificities and are dated on some configurations so we both need to
# provide our own version and make sure the system one gets exposed.
--- /dev/null
+/* This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+<http://www.gnu.org/licenses/>. */
+
+#ifndef __GCC_STDINT_H
+#define __GCC_STDINT_H
+
+#include <_yvals.h>
+#include <stdint-gcc.h>
+
+#endif