# Enable target overriding of this fragment, as in config/t-vxworks.
T_GLIMITS_H = $(srcdir)/glimits.h
+T_STDINT_GCC_H = $(srcdir)/ginclude/stdint-gcc.h
# The GCC to use for compiling crt*.o.
# Usually the one we just built.
# be rebuilt.
# Build the include directories.
-stmp-int-hdrs: $(STMP_FIXINC) $(T_GLIMITS_H) $(USER_H) fixinc_list
+stmp-int-hdrs: $(STMP_FIXINC) $(T_GLIMITS_H) $(T_STDINT_GCC_H) $(USER_H) fixinc_list
# Copy in the headers provided with gcc.
#
# The sed command gets just the last file name component;
cp $(srcdir)/ginclude/stdint-wrap.h include/stdint.h; \
chmod a+r include/stdint.h; \
elif [ $(USE_GCC_STDINT) = provide ]; then \
- cp $(srcdir)/ginclude/stdint-gcc.h include/stdint.h; \
+ cp $(T_STDINT_GCC_H) include/stdint.h; \
chmod a+r include/stdint.h; \
fi
set -e; for ml in `cat fixinc_list`; do \
extra_headers="${extra_headers} ../vxworks/math.h ../vxworks/complex.h"
extra_headers="${extra_headers} ../vxworks/inttypes.h ../vxworks/setjmp.h"
- # We provide stdint.h ...
-
+ # We provide (a tailored version of) 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"
+ use_gcc_stdint=provide
case ${enable_threads} in
no) ;;
$(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.
vxw-glimits.h: $(srcdir)/glimits.h
ID=`echo $(BASEVER_c) | sed -e 's/\./_/g'` && \
- sed -e "s/_LIMITS_H__/_LIMITS_H__$${ID}_/" < $(srcdir)/glimits.h > $@T
+ sed -e "s/_LIMITS_H__/_LIMITS_H__$${ID}_/" < $< > $@T
+ mv $@T $@
+
+# Arrange to "provide" a tailored version of stdint-gcc.h
+
+T_STDINT_GCC_H = vxw-stdint-gcc.h
+
+vxw-stdint-gcc.h: $(srcdir)/ginclude/stdint-gcc.h
+ sed -e "/#define _GCC_STDINT_H/ a #include <_yvals.h>" < $< > $@T
mv $@T $@
+++ /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
*/mrtp*) echo -I$(WIND_USR)/h -I$(WIND_USR)/h/wrn/coreip ;; \
*) echo -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip ;; \
esac`
+
+CRTSTUFF_T_CFLAGS = $(LIBGCC2_INCLUDES)
*/mrtp*) echo -I$(VSB_DIR)/usr/h/public -I$(VSB_DIR)/usr/h ;; \
*) echo -I$(VSB_DIR)/krnl/h/system -I$(VSB_DIR)/krnl/h/public ;; \
esac`
+
+CRTSTUFF_T_CFLAGS = $(LIBGCC2_INCLUDES)