diff --git a/Makefile.vcxproj b/Makefile.vcxproj
new file mode 100644
index 00000000..2e6c0984
--- /dev/null
+++ b/Makefile.vcxproj
@@ -0,0 +1,273 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {21BD69A9-7F52-48D9-9846-6943E90A87A9}
+ Win32Proj
+ amath
+
+
+
+ Application
+ true
+ v120
+ Unicode
+
+
+ Application
+ false
+ v120
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
+ app;lib
+
+
+ Console
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Makefile.vcxproj.filters b/Makefile.vcxproj.filters
new file mode 100644
index 00000000..ac967c13
--- /dev/null
+++ b/Makefile.vcxproj.filters
@@ -0,0 +1,603 @@
+
+
+
+
+ {9d6183e0-69ff-4d26-baa1-f350b1e61840}
+
+
+ {ed7346f4-5be0-4000-a20a-58ec723ca861}
+
+
+ {21ec35c0-8f3a-4f7b-b918-57ae99334945}
+
+
+ {43df397b-d8f3-44a8-966d-30f34538b710}
+
+
+ {db547663-8a55-4ac5-a59e-1110627b8c0f}
+
+
+ {e39a3123-a0a5-469b-a276-941af488213a}
+
+
+ {06553b8e-eef4-4337-8018-06693437ad55}
+
+
+ {1444b688-d501-412d-b2a0-a641bf6df325}
+
+
+ {25a05287-9646-4677-bc30-c25f62848fab}
+
+
+ {04260827-107d-42c3-9bf6-e8658eb4cb01}
+
+
+ {abdce801-5eed-476b-93aa-8af725658322}
+
+
+
+
+ app
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system\io
+
+
+ lib\dconv
+
+
+ lib\dconv
+
+
+ lib\dconv
+
+
+ lib\clib
+
+
+ lib\clib
+
+
+ lib\clib
+
+
+ lib\clib
+
+
+ lib\clib
+
+
+ lib\clib
+
+
+ lib\clib
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\complex
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+ lib\real
+
+
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\lib
+
+
+ app\localize
+
+
+ app\localize
+
+
+ app\localize
+
+
+ app\localize
+
+
+ app\localize
+
+
+ app\localize
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\main
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system
+
+
+ app\system\io
+
+
+ app\system\io
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib
+
+
+ lib\dconv
+
+
+ lib\dconv
+
+
+ lib\complex
+
+
+ lib\real
+
+
+
\ No newline at end of file
diff --git a/app/lib/numb.h b/app/lib/numb.h
index 75e02c83..fbc3f0a8 100644
--- a/app/lib/numb.h
+++ b/app/lib/numb.h
@@ -27,7 +27,7 @@
#ifndef _NUMBER_H
#define _NUMBER_H
-#ifndef AMIGA
+#if defined(__GNUC__) && !defined(AOS3)
#pragma GCC diagnostic ignored "-Wshadow"
#endif
diff --git a/app/localize/start.h b/app/localize/start.h
index 0082eac1..124e3920 100644
--- a/app/localize/start.h
+++ b/app/localize/start.h
@@ -53,7 +53,7 @@
/******************************************************************************/
#if defined(INTELCPU) || defined(i386) || defined(i486) || \
defined(intel) || defined(x86) || defined(i86pc) || \
- defined(__i386__)
+ defined(__i386__) || defined(_M_IX86)
#ifdef ACPU
#undef ACPU
#endif
diff --git a/app/main/graphlist.cpp b/app/main/graphlist.cpp
index 1e4ad8c5..01dde06f 100644
--- a/app/main/graphlist.cpp
+++ b/app/main/graphlist.cpp
@@ -61,4 +61,3 @@ GraphWindow* GraphList::CreateNewWindow()
return current;
}
-
diff --git a/app/main/graphlist.h b/app/main/graphlist.h
index c095ca38..0955873f 100644
--- a/app/main/graphlist.h
+++ b/app/main/graphlist.h
@@ -33,7 +33,6 @@
*
*/
-#ifdef WITHTEST // Still under development
#include "system/graph.h"
/**
@@ -52,4 +51,3 @@ private:
};
#endif
-#endif
diff --git a/app/main/statements.cpp b/app/main/statements.cpp
index aa7ebf4a..62bd97d1 100644
--- a/app/main/statements.cpp
+++ b/app/main/statements.cpp
@@ -751,7 +751,6 @@ char* ExecuteStatement::Execute()
// ------------------ PlotStatement --------------------
// -----------------------------------------------------
-#ifdef WITHTEST // Still under development
PlotStatement::PlotStatement(const char* name, const char* parameter, const char* file) :
StatementNode()
{
@@ -880,4 +879,4 @@ char* DrawStatement::Execute()
return (char*)EMPTYSTRING;
}
-#endif
+
diff --git a/app/main/token.cpp b/app/main/token.cpp
index a5fa2e4f..69a1913e 100644
--- a/app/main/token.cpp
+++ b/app/main/token.cpp
@@ -27,7 +27,7 @@
#include "clib.h"
#include "main/token.h"
-#ifndef AMIGA
+#if defined(__GNUC__) && !defined(AOS3)
#pragma GCC diagnostic ignored "-Wshadow"
#endif
diff --git a/app/system/console_stdc.cpp b/app/system/console_stdc.cpp
index e9661f2a..8ab5e5e5 100755
--- a/app/system/console_stdc.cpp
+++ b/app/system/console_stdc.cpp
@@ -28,8 +28,6 @@
#ifndef AMIGA
#include
-#include
-#include
#include "main/nodes.h"
#include "main/evaluator.h"
#include "system/console_stdc.h"
@@ -73,11 +71,13 @@ void StandardConsole::Exit()
void StandardConsole::ReadLine()
{
+#ifdef UNIX
termios new_tio, old_tio;
tcgetattr(STDIN_FILENO, &old_tio);
new_tio = old_tio;
new_tio.c_lflag &=(~ICANON & ~ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &new_tio);
+#endif
proc->StartInput();
@@ -90,7 +90,9 @@ void StandardConsole::ReadLine()
line = proc->GetLine();
- tcsetattr(STDIN_FILENO, TCSANOW, &old_tio);
+#ifdef UNIX
+ tcsetattr(STDIN_FILENO, TCSANOW, &old_tio);
+#endif
}
void StandardConsole::WriteString(const char *string)
diff --git a/app/system/filesystem_stdc.cpp b/app/system/filesystem_stdc.cpp
index 8cbfe4f4..f5551afd 100755
--- a/app/system/filesystem_stdc.cpp
+++ b/app/system/filesystem_stdc.cpp
@@ -36,13 +36,12 @@
#ifndef AMIGA
#include
#include
-#include
CharBuffer* StandardFilesystem::ListDirectory(const char *path)
{
- CharBuffer *pathbuf = new CharBuffer();
+#ifdef UNIX
+ CharBuffer *pathbuf = new CharBuffer();
pathbuf->Empty();
-
if (path == NOMEM) {
pathbuf->Append(".");
} else {
@@ -109,6 +108,11 @@ CharBuffer* StandardFilesystem::ListDirectory(const char *path)
closedir(dir);
delete pathbuf;
return lines;
+#else
+ CharBuffer *lines = new CharBuffer();
+ lines->Empty();
+ return lines;
+#endif
}
CharBuffer* StandardFilesystem::LoadTextFile(const char* name)
diff --git a/app/system/program.h b/app/system/program.h
index 07270943..c6356902 100644
--- a/app/system/program.h
+++ b/app/system/program.h
@@ -63,7 +63,7 @@ public:
void NewPositionalInput(short unsigned int base, short unsigned int digits);
void NewPositionalOutput(short unsigned int base, short unsigned int digits);
void SetLastResult(Number *number);
- class Number* GetLastResult();
+ struct Number* GetLastResult();
class Language *Language;
class ConsoleBase *Console;
class PreferencesBase *Preferences;
@@ -75,7 +75,7 @@ public:
class GraphList *Graphs;
private:
- class Number* ins;
+ struct Number* ins;
};
#endif
diff --git a/app/system/task_stdc.cpp b/app/system/task_stdc.cpp
index de9a31ab..1b4eaa5b 100755
--- a/app/system/task_stdc.cpp
+++ b/app/system/task_stdc.cpp
@@ -28,7 +28,7 @@
#include "system/task_stdc.h"
#include "system/base/thread.h"
-#ifndef AMIGA
+#ifdef UNIX
#include
#include
#include
diff --git a/lib/clib/memcpy.c b/lib/clib/memcpy.c
index 72f3609d..500979fb 100644
--- a/lib/clib/memcpy.c
+++ b/lib/clib/memcpy.c
@@ -32,7 +32,7 @@
#include "clib.h"
-#ifndef AMIGA
+#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wcast-align"
#endif
diff --git a/lib/clib/memset.c b/lib/clib/memset.c
index b93880f5..a7ceca62 100644
--- a/lib/clib/memset.c
+++ b/lib/clib/memset.c
@@ -35,7 +35,7 @@
#include "clib.h"
-#ifndef AMIGA
+#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wcast-align"
#endif
diff --git a/lib/platform.h b/lib/platform.h
index 4f833bea..f72f0960 100644
--- a/lib/platform.h
+++ b/lib/platform.h
@@ -30,71 +30,81 @@
#include
#ifdef __AMIGA__
-#ifndef AOS3
-#define AOS3
-#endif
+# ifndef AOS3
+# define AOS3
+# endif
#endif
#ifdef __AROS__
-#ifndef AROS
-#define AROS
-#endif
+# ifndef AROS
+# define AROS
+# endif
#endif
#ifdef __MORPHOS__
-#ifndef MORPHOS
-#define MORPHOS
-#endif
+# ifndef MORPHOS
+# define MORPHOS
+# endif
#endif
#ifdef __amigaos4__
-#ifndef AOS4
-#define AOS4
-#endif
+# ifndef AOS4
+# define AOS4
+# endif
#endif
// Check weather an AmigaOS compatible API is available
#if defined(AOS3) || defined(AOS4) || defined(AROS) || defined (MORPHOS)
-#ifndef AMIGA
-#define AMIGA
-#endif
-#include
-#include
-#include
-#include
-#include
+# ifndef AMIGA
+# define AMIGA
+# endif
+# include
+# include
+# include
+# include
+# include
#endif
-/* POSIX */
-#ifndef AMIGA
-#include
-#include
-#include
+// Check weather an POSIX compatible API is available
+#if defined(unix) || defined(__unix__) || defined(__unix)
+# ifndef UNIX
+# define UNIX
+# endif
+# include
+# include
+# include
#endif
-/* GCC 2.95 etc */
-#ifdef AOS3
-#include
+/* STDC */
+#ifndef AMIGA
+# include
+# include
+# include
+#endif
+
+/* GCC 2.95 */
+#if (_GNUC_ == 2 && __GNUC_MINOR__ == 95)
+# include
typedef u_int8_t uint8_t;
typedef u_int16_t uint16_t;
typedef u_int32_t uint32_t;
typedef u_int64_t uint64_t;
-#define IPTR LONG
+# define IPTR LONG
#endif
/* GCC 4.x & AROS API */
#ifdef AROS
-#include
-#include
+# include
+# include
#endif
#ifdef MORPHOS
-#include
-#include
+# include
+# include
#endif
#ifdef AOS4
-#error Includedes must be defined for Amiga OS 4+
+# error Includedes must be defined for Amiga OS 4+
#endif
#endif
diff --git a/lib/real/pow.c b/lib/real/pow.c
index 4131f734..6c339c46 100644
--- a/lib/real/pow.c
+++ b/lib/real/pow.c
@@ -42,7 +42,7 @@
#include "prim.h"
#include "math.h"
-#ifndef AOS3
+#if defined(__GNUC__) && !defined(AOS3)
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif
diff --git a/lib/real/prim.h b/lib/real/prim.h
index 1f8e44f0..b0d6158c 100644
--- a/lib/real/prim.h
+++ b/lib/real/prim.h
@@ -72,7 +72,7 @@ int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int
#if defined(INTELCPU) || defined(i386) || defined(i486) || \
defined(intel) || defined(x86) || defined(i86pc) || \
defined(__i386__) || defined(__alpha) || defined(__osf__) || \
- defined(__x86_64__)
+ defined(__x86_64__) || defined(_M_IX86) || defined(_M_AMD64)
#define __IEEE_LITTLE_ENDIAN
#endif
diff --git a/lib/real/sinh.c b/lib/real/sinh.c
index 5cb8e917..d2d6f295 100644
--- a/lib/real/sinh.c
+++ b/lib/real/sinh.c
@@ -44,7 +44,7 @@
#include "prim.h"
#include "math.h"
-#ifndef AMIGA
+#if defined(__GNUC__) && !defined(AOS3)
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif