Changeset 9

Show
Ignore:
Timestamp:
03/20/07 08:27:50 (2 years ago)
Author:
selman
Message:

DMD works on GNU/Linux, samples updated

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • downloads/README.samples

    r7 r9  
    33samples tested with gdc 0.23 (all samples) and DMD 1.009 
    44under Arch Linux i686 and Windows XP with MinGW. Procedures  
    5 below. 
     5below. to compile with dmd use "export DC=/path/to/dmd" on 
     6GNU/Linux; "set DC=/path/to/dmd" on Windows/Dos. 
     7 
    68 
    79samples/Hello 
     
    17194. "Demo/helloDemo" 
    1820 
    19 Windows: (known; don't generate full Makefiles
     21Windows/MinGW (GDC works Look Tickets: #1
    20221. "cd Hello" 
    21 2. "cmake.exe . -G "Unix Makefiles" or "cmake.exe . -G "MSYS Makefiles" 
     232. "cmake.exe . -G "Unix Makefiles" 
    22243. "make" 
     254. "Demo/helloDemo" 
     26 
     27Windows/DOS: (DMD works Look Tickets: #1) 
     281. "cd Hello" 
     292. "cmake.exe . -G "MinGW Makefiles" 
     303. "path/to/MinGW/bin/mingw32-make" 
    23314. "Demo/helloDemo" 
    2432 
     
    3038a little complex. using GTK libraries and building lots of samples. 
    3139 
    32 Linux: (tested only with gdc
     40Linux: (works with both compilers
    33411. "cd minwin_gtk" 
    34422. "cmake ." 
    35433. "make" 
    3644 
    37 Windows: (not tested) 
     45Windows/MinGW: (GDC not tested) 
     46 
     47Windows/DOS: (DMD not tested) 
    3848 
    3949You'll find working executables in "minwin/samples". no install procedure added only for sample. 
     
    49593. "make" 
    5060 
    51 Windows: (works with both compilers) 
     61Windows/MinGW: (GDC works)  
    52621. "cd minwin_gtk" 
    53 2. "cmake.exe . -G "Unix Makefiles" or "cmake.exe . -G "MSYS Makefiles" 
     632. "cmake.exe . -G "Unix Makefiles" 
    54643. "make" 
     65 
     66Windows/DOS: (DMD works) 
     671. "cd minwin_gtk" 
     682. "cmake.exe . -G "MinGW Makefiles" 
     693. "path/to/MinGW/bin/mingw32-make" 
  • trunk/cmaked/CMakeDInformation.cmake

    r8 r9  
    108108ELSE(CMAKE_COMPILER_IS_GDC) 
    109109  SET(CMAKE_OUTPUT_D_FLAG "-of") 
    110   IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 
    111     # not a good way but works because dmd using gcc 
    112     # for linker on Linux 
    113     SET(CMAKE_LINK_LIBRARY_FLAG "-L-l") 
    114     SET(CMAKE_LIBRARY_PATH_FLAG "-L-L") 
    115   ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 
    116     # dmd part doesn't work for now 
     110  IF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") 
    117111    SET(CMAKE_LINK_LIBRARY_FLAG "-L+") 
    118112    SET(CMAKE_LIBRARY_PATH_FLAG "-I") 
    119   ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 
     113    FIND_PROGRAM(DMD_LIBRARIAN "lib.exe") 
     114  ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") 
    120115ENDIF(CMAKE_COMPILER_IS_GDC) 
    121116 
     
    134129# create a D static library 
    135130IF(NOT CMAKE_D_CREATE_STATIC_LIBRARY) 
    136   SET(CMAKE_D_CREATE_STATIC_LIBRARY 
     131  IF(CMAKE_COMPILER_IS_GDC) 
     132    SET(CMAKE_D_CREATE_STATIC_LIBRARY 
    137133      "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> " 
    138134      "<CMAKE_RANLIB> <TARGET> ") 
     135  ELSE(CMAKE_COMPILER_IS_GDC) 
     136    IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 
     137      SET(CMAKE_D_CREATE_STATIC_LIBRARY 
     138    "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> " 
     139    "<CMAKE_RANLIB> <TARGET> ") 
     140    ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 
     141      SET(CMAKE_D_CREATE_STATIC_LIBRARY 
     142    "${DMD_LIBRARIAN} -c -p256 <TARGET> <OBJECTS>") 
     143    ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 
     144  ENDIF(CMAKE_COMPILER_IS_GDC)   
    139145ENDIF(NOT CMAKE_D_CREATE_STATIC_LIBRARY) 
    140146 
     
    146152 
    147153IF(NOT CMAKE_D_LINK_EXECUTABLE) 
     154  IF(CMAKE_COMPILER_IS_GDC) 
    148155    SET(CMAKE_D_LINK_EXECUTABLE 
    149156      "<CMAKE_D_COMPILER> <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> ${CMAKE_OUTPUT_D_FLAG}<TARGET> <LINK_LIBRARIES>") 
     157  ELSE(CMAKE_COMPILER_IS_GDC) 
     158    SET(CMAKE_D_LINK_EXECUTABLE 
     159      "gcc <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -lphobos -lpthread -lm") 
     160  ENDIF(CMAKE_COMPILER_IS_GDC) 
    150161ENDIF(NOT CMAKE_D_LINK_EXECUTABLE) 
    151162 
  • trunk/samples/Hello/Demo/demo.d

    r8 r9  
    44int main() 
    55{ 
    6   version (GNU) 
    7   { 
    8     Hail hello = new Hail(); 
    9     hello.Print(); 
    10   } 
    11   else 
    12   { 
    13     Print(); 
    14   } 
    15   
     6  Hail hello = new Hail(); 
     7  hello.Print(); 
     8   
    169  return 0; 
    1710} 
  • trunk/samples/Hello/Hello/hello.d

    r8 r9  
    33import std.stdio; 
    44 
    5 version (GNU) 
     5class Hail 
    66{ 
    7   class Hail 
    8   { 
    9   public: 
    10     void Print() 
    11       { 
    12         writefln ("Hello, World!"); 
    13       } 
    14   } 
    15 
    16 else 
    17 
     7public: 
    188  void Print() 
    199  { 
     
    2111  } 
    2212} 
     13 
     14 
  • trunk/samples/minwin_gtk/CMakeLists.txt

    r8 r9  
    2121    minwin/event.d      minwin/label.d      minwin/peer.d ) 
    2222   
    23   ADD_DEFINITIONS (-fversion=GTK ${GTK2_DEFINITIONS}) 
    24    
     23  IF(CMAKE_COMPILER_IS_GDC) 
     24    ADD_DEFINITIONS (-fversion=GTK ${GTK2_DEFINITIONS}) 
     25  ELSE(CMAKE_COMPILER_IS_DMD) 
     26    ADD_DEFINITIONS (-version=GTK ${GTK2_DEFINITIONS}) 
     27  ENDIF(CMAKE_COMPILER_IS_GDC) 
     28  
    2529  ADD_LIBRARY (minwin_gtk ${SRCS}) 
    2630