diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0864cd3b04aea614f4be69f5325e5a0c9345feb5..0aa565aff8e0e55e191e373422a61b0030d1a5e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -813,14 +813,20 @@ check_include_file(sys/socket.h HAVE_SYS_SOCKET_H)
 if(HAVE_SYS_SOCKET_H)
   set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
 endif(HAVE_SYS_SOCKET_H)
-
 check_type_size(socklen_t SOCKLEN_T_SIZE)
+set(CMAKE_EXTRA_INCLUDE_FILES)
 if(NOT SOCKLEN_T_SIZE)
   set_config_option(HAVE_NO_SOCKLEN_T "NoSocklenT")
 endif(NOT SOCKLEN_T_SIZE)
-set(CMAKE_EXTRA_INCLUDE_FILES)
 
+check_include_file(stdint.h HAVE_STDINT_H)
+if(HAVE_STDINT_H)
+  set(CMAKE_EXTRA_INCLUDE_FILES stdint.h)
+else(HAVE_STDINT_H)
+  set_config_option(HAVE_NO_STDINT_H "NoStdintH")
+endif(HAVE_STDINT_H)
 check_type_size(intptr_t INTPTR_T_SIZE)
+set(CMAKE_EXTRA_INCLUDE_FILES)
 if(NOT INTPTR_T_SIZE)
   set_config_option(HAVE_NO_INTPTR_T "NoIntptrT")
 endif(NOT INTPTR_T_SIZE)
diff --git a/Common/GmshConfig.h.in b/Common/GmshConfig.h.in
index b5bd6e3dcec3a4a0d9e7159f93eaa6bd2bd240d9..cbf5dcd9bbb911f6718b6714483673917077e1df 100644
--- a/Common/GmshConfig.h.in
+++ b/Common/GmshConfig.h.in
@@ -38,6 +38,7 @@
 #cmakedefine HAVE_NETGEN
 #cmakedefine HAVE_NO_INTPTR_T
 #cmakedefine HAVE_NO_SOCKLEN_T
+#cmakedefine HAVE_NO_STDINT_H
 #cmakedefine HAVE_NO_VSNPRINTF
 #cmakedefine HAVE_OCC
 #cmakedefine HAVE_OPENGL
@@ -47,8 +48,8 @@
 #cmakedefine HAVE_PLUGINS
 #cmakedefine HAVE_POST
 #cmakedefine HAVE_QT
-#cmakedefine HAVE_SLEPC
 #cmakedefine HAVE_SALOME
+#cmakedefine HAVE_SLEPC
 #cmakedefine HAVE_SOLVER
 #cmakedefine HAVE_TAUCS
 #cmakedefine HAVE_TETGEN
diff --git a/Common/ListUtils.cpp b/Common/ListUtils.cpp
index 3d9ffbc04bb5b5a1d95a048cda33a067709f3e7e..de517a4f7aa9a7335f65c55f2f0bc7ca86f18e36 100644
--- a/Common/ListUtils.cpp
+++ b/Common/ListUtils.cpp
@@ -8,6 +8,9 @@
 //
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif
diff --git a/Common/avl.cpp b/Common/avl.cpp
index 11381b9d4753de226627661bcc6a7cb2fa9d0400..7054665ce977482b0dbd80d1b7eaada648f3606e 100644
--- a/Common/avl.cpp
+++ b/Common/avl.cpp
@@ -26,6 +26,9 @@
 // Modified for Gmsh (C++ and 64 bit compatibility)
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif
diff --git a/Fltk/FlGui.cpp b/Fltk/FlGui.cpp
index e7493e19703b65c998418ab7c8e8d71552a7a0b1..bf0f9b7c0e7db0fd329980a33ddda9a0abc2b9d6 100644
--- a/Fltk/FlGui.cpp
+++ b/Fltk/FlGui.cpp
@@ -4,6 +4,9 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif
diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index 75cdbc46dfda0a4a104ec4d0a490cae316cc3a75..2c3fc1f11a595544823dca5e211618b68230b224 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -4,6 +4,9 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif
diff --git a/Fltk/optionWindow.cpp b/Fltk/optionWindow.cpp
index b8782983af2b2967520759b99a5010ba0191d28d..873a67e7040b2db3f93ce0250ef570eb5e662cd7 100644
--- a/Fltk/optionWindow.cpp
+++ b/Fltk/optionWindow.cpp
@@ -4,6 +4,9 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif
diff --git a/Fltk/pluginWindow.cpp b/Fltk/pluginWindow.cpp
index 5b79ec4362994b9cbb01e7389a9bdd8843a90e2d..94e4cdffa9b6778d6273ffe1e3327315bfaac5bb 100644
--- a/Fltk/pluginWindow.cpp
+++ b/Fltk/pluginWindow.cpp
@@ -4,6 +4,9 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif
diff --git a/Fltk/visibilityWindow.cpp b/Fltk/visibilityWindow.cpp
index e3b1f74cb7abbdf7dd2d694a9ac0e2400f0c0f37..163d62bb7b6f1d2657f08b8321454a62672284f0 100644
--- a/Fltk/visibilityWindow.cpp
+++ b/Fltk/visibilityWindow.cpp
@@ -4,6 +4,9 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "GmshConfig.h"
+#if !defined(HAVE_NO_STDINT_H)
+#include <stdint.h>
+#endif
 #if defined(HAVE_NO_INTPTR_T)
 typedef unsigned long intptr_t;
 #endif