vcl: Handle newer Glibc (>2.28) where fcntl is actually fcntl64

Glibc 2.28 now provides fcntl64 which is used instead of fcntl
by defining fcntl as fcntl64 in fcntl.h

Type: fix

Change-Id: I87fedfbf3e0d241aafdc920e90f824d71353e0e6
Signed-off-by: Carl Smith <carl.smith@alliedtelesis.co.nz>
diff --git a/src/cmake/syscall.cmake b/src/cmake/syscall.cmake
index 1e0a559..aa3bac4 100644
--- a/src/cmake/syscall.cmake
+++ b/src/cmake/syscall.cmake
@@ -34,3 +34,12 @@
     add_definitions(-DHAVE_GETCPU)
 endif()
 
+check_c_source_compiles("
+  #define _GNU_SOURCE
+  #include <fcntl.h>
+  int main() { return fcntl64 (0, 0); }
+" HAVE_FCNTL64)
+
+if (HAVE_FCNTL64)
+    add_definitions(-DHAVE_FCNTL64)
+endif()