The previous method of checking whether the architecture is TileGx or
not was buggy. urcu/arch/tile.h included urcu/arch/gcc.h, which was not
installed on the system, causing a configure error. I am not sure why it
worked when I tested commit
1000f1f4204e5fbb337f4ea911f1e29f67df79aa,
maybe some previous partial install or something.
The check is now done earlier, during the configure step and should not
cause any trouble.
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
[ia64], [ARCHTYPE="gcc"],
[arm*], [ARCHTYPE="arm"],
[mips*], [ARCHTYPE="mips"],
- [tile*], [ARCHTYPE="tile"],
+ [tile*], [ARCHTYPE="gcc"],
[ARCHTYPE="unknown"]
)
])
])
+# Tile-specific checks
+AS_IF([echo "$host_cpu" | grep "^tile"],[
+ AC_MSG_CHECKING([for Tile architecture type])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #ifndef __tilegx__
+ #error
+ #endif
+ ]])
+ ],[
+ AC_MSG_RESULT([ok])
+ ],[
+ AC_MSG_FAILURE([URCU has only been tested on the TileGx architecture. For other Tile* architectures, please run the tests first and report the results to the maintainer so that proper support can be added.])
+ ])
+])
+
# x86-specific checks
AS_IF([test "x$ARCHTYPE" = "xx86"],[
AC_MSG_CHECKING([if architecture really supports the mfence instruction])
+++ /dev/null
-#ifndef _URCU_ARCH_TILE_H
-#define _URCU_ARCH_TILE_H
-
-/*
- * arch_tile.h: trivial definitions for the Tile architecture
- *
- * Copyright (c) 2013 Simon Marchi <simon.marchi@polymtl.ca>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef __tilegx__
-#include <urcu/arch/gcc.h>
-#else
-#error "URCU has only been tested on the TileGx architecture. For other Tile* architectures, please run the tests first and report the results to the maintainer so that proper support can be added."
-#endif
-
-#endif /* _URCU_ARCH_TILE_H */
+++ /dev/null
-#ifndef _URCU_ARCH_UATOMIC_TILE_H
-#define _URCU_ARCH_UATOMIC_TILE_H
-
-/*
- * Copyright (c) 2013 Simon Marchi <simon.marchi@polymtl.ca>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef __tilegx__
-#include <urcu/uatomic/gcc.h>
-#else
-#error "URCU has only been tested on the TileGx architecture. For other Tile* architectures, please run the tests first and report the results to the maintainer so that proper support can be added."
-#endif
-
-#endif /* _URCU_ARCH_UATOMIC_TILE_H */