249c2c9f7529392390ce798396f118f6a1e96593
[occt.git] / src / OS / DataExchange.tcl
1 # Copyright (c) 1999-2014 OPEN CASCADE SAS
2 #
3 # This file is part of Open CASCADE Technology software library.
4 #
5 # This library is free software; you can redistribute it and/or modify it under
6 # the terms of the GNU Lesser General Public License version 2.1 as published
7 # by the Free Software Foundation, with special exception defined in the file
8 # OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 # distribution for complete text of the license and disclaimer of any warranty.
10 #
11 # Alternatively, this file may be used under the terms of Open CASCADE
12 # commercial license or contractual agreement.
13
14 ;#
15 ;# Liste des toolkits WOK sous forme de full path
16 ;# 
17 proc DataExchange:toolkits { } {
18     return [list TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES \
19                 TKXCAF TKXDEIGES TKXDESTEP \
20                 TKSTL TKVRML TKXmlXCAF TKBinXCAF]
21 }
22 ;#
23 ;# Autres UDs a prendre.
24 ;#
25 proc DataExchange:ressources { } {
26     return [list  \
27             [list both r XSMessage {} ] \
28             [list both r SHMessage {} ] \
29             [list both r XSTEPResource {} ] \
30             ]
31 }
32 ;#
33 ;# retourne une liste de triplets {type <full path1> <target directory>/name}
34 ;# permet de faire : cp <full path> $CASROOT/<target directory>/name
35 ;# On peut ainsi embarquer des fichiers d'un peu partout et les dispatcher sous 
36 ;# la racine d'arrivee et ce avec un autre nom.
37 ;# rien n'empeche de CALCULER automatiquement des paths dans cette proc.
38 ;# type = source/runtime/both pour dire si le fichier va dans l'archive en question.
39 ;# une deux (ou les deux) type d'archive fabriquees. 
40 ;#
41 proc DataExchange:freefiles { } {
42     return {}
43 }
44 ;#
45 ;# Nom du module 
46 ;#
47 proc DataExchange:name { } {
48     return DataExchange
49 }
50 proc DataExchange:alias { } {
51     return DXE
52 }
53 proc DataExchange:depends { } {
54     return [list ApplicationFramework]
55 }
56 ;#
57 ;# Liste des includes utilises qui ne sont pas ceux des Wb.
58 ;#
59 proc DataExchange:CompileWith { } {
60     
61     set l {}
62     switch -- [OS:os] {
63         HP-UX {
64         }
65
66         Linux {
67             lappend l "-I[lindex [wokparam -v %CSF_JavaHome] 0]/include"
68             lappend l "-I[lindex [wokparam -v %CSF_JavaHome] 0]/include/linux"
69             lappend l "[lindex [wokparam -v %CSF_TCL_HOME] 0]/include"
70            lappend l "[lindex [lindex [wokparam -v %STLPortInclude] 0] 0]" 
71         }
72         SunOS {
73             lappend l "/usr/openwin/include"
74             lappend l "/usr/dt/include"
75             lappend l "[lindex [wokparam -v %CSF_CXX_INCLUDE] 0]"
76             lappend l "-I[lindex [wokparam -v %CSF_JavaHome] 0]/include"
77             lappend l "-I[lindex [wokparam -v %CSF_JavaHome] 0]/include/solaris"
78             lappend l "[lindex [wokparam -v %CSF_TCL_HOME] 0]/include"
79         }
80
81         IRIX {
82            lappend l "/usr/include/CC" 
83         }
84     }
85     return $l
86 }
87 ;#
88 ;# Pre-requis pour la compilation ( -L ... )
89 ;# Returns a list of directory that should be used in -L directives
90 ;# while creating shareable.
91 ;#
92 proc DataExchange:LinksoWith { } {
93     
94     set l {}
95     switch -- [OS:os] {
96         HP-UX {
97         }
98         Linux {
99         }
100         SunOS {
101             lappend l "-L[wokparam -v %CSF_TCL_HOME]/lib -R[wokparam -v %CSF_TCL_HOME]/lib -ltcl"
102             lappend l "-L[wokparam -v %CSF_TCL_HOME]/lib -R[wokparam -v %CSF_TCL_HOME]/lib -ltk"
103         }
104         IRIX {
105             lappend l "/usr/lib32"
106         }
107     }
108     return $l
109 }
110 ;#
111 ;# Returns a list of exported features.
112 ;# source : Source files
113 ;# runtime: Shareables
114 ;# wokadm : WOK admin files
115 ;# api    : Public include files
116 ;#
117 proc DataExchange:Export { } {
118     return [list source runtime wokadm api]
119 }