Fixes 4.0 build
[mono.git] / mcs / class / System.Web / Makefile
1 thisdir = class/System.Web
2 SUBDIRS = Test
3 include ../../build/rules.make
4
5 LIBRARY = System.Web.dll
6
7 ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
8
9 LIBRARY_USE_INTERMEDIATE_FILE = yes
10
11 # Because System.Web.dll and System.Web.Services.dll have a cyclic dependency, we need a two-pass build.
12 # 1st pass - build System.Web.dll without System.Web.Services.dll reference
13 # 2nd pass - build System.Web.dll with System.Web.Services.dll reference
14
15 WEBSERVICES_DEP := System.Web.Services.dll
16 WEBSERVICES_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(WEBSERVICES_DEP))
17 MONOWEB_DEP := Mono.Web.dll
18 MONOWEB_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(MONOWEB_DEP))
19 ifndef NO_SYSTEMCORE_DEP
20 SYSTEMCORE_DEP := System.Core.dll
21 SYSTEMCORE_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(SYSTEMCORE_DEP))
22 endif
23 CYCLIC_DEPS := $(WEBSERVICES_DEP) $(MONOWEB_DEP) 
24 CYCLIC_DEP_FILES := $(WEBSERVICES_DEP_FILE) $(MONOWEB_DEP_FILE)
25 endif
26
27 RESOURCE_FILES_1= \
28         resources/WebUIValidation.js
29
30 RESOURCE_FILES_2 = \
31         resources/folder.gif \
32         resources/file.gif \
33         resources/computer.gif \
34         resources/arrow_minus.gif \
35         resources/arrow_noexpand.gif \
36         resources/arrow_plus.gif \
37         resources/arrow_up.gif \
38         resources/arrow_down.gif \
39         resources/box_full.gif \
40         resources/box_empty.gif \
41         resources/box_minus.gif \
42         resources/box_noexpand.gif \
43         resources/box_plus.gif \
44         resources/contact.gif \
45         resources/dot_empty.gif \
46         resources/dot_full.gif \
47         resources/dots.gif \
48         resources/inbox.gif \
49         resources/star_empty.gif \
50         resources/star_full.gif \
51         resources/warning.gif \
52         resources/TreeView_noexpand.gif \
53         resources/TreeView_dash.gif \
54         resources/TreeView_dashminus.gif \
55         resources/TreeView_dashplus.gif \
56         resources/TreeView_i.gif \
57         resources/TreeView_l.gif \
58         resources/TreeView_lminus.gif \
59         resources/TreeView_lplus.gif \
60         resources/TreeView_minus.gif \
61         resources/TreeView_plus.gif \
62         resources/TreeView_r.gif \
63         resources/TreeView_rminus.gif \
64         resources/TreeView_rplus.gif \
65         resources/TreeView_t.gif \
66         resources/TreeView_tminus.gif \
67         resources/TreeView_tplus.gif \
68         resources/transparent.gif \
69         resources/webform.js \
70         resources/WebUIValidation_2.0.js \
71         System.Web.UI.WebControls/GridView.js \
72         System.Web.UI.WebControls/DetailsView.js \
73         System.Web.UI.WebControls/TreeView.js \
74         System.Web.UI.WebControls/Menu.js
75
76 OTHER_RES = $(RESOURCE_FILES_1)
77 TEST_RESOURCE_FILES = \
78         Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax \
79         Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx \
80         Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master \
81         Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx \
82         Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs \
83         Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx \
84         Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config \
85         Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.1.1 \
86         Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap \
87         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap \
88         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap \
89         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap \
90         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap \
91         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap \
92         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap \
93         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap \
94         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap \
95         Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap \
96         Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx \
97         Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx \
98         Test/mainsoft/NunitWebResources/menuclass.aspx \
99         Test/mainsoft/NunitWebResources/FormView.aspx \
100         Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx \
101         Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx \
102         Test/mainsoft/NunitWebResources/PageWithTheme.aspx \
103         Test/mainsoft/NunitWebResources/ResolveUrl.ascx \
104         Test/mainsoft/NunitWebResources/ResolveUrl.aspx \
105         Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx \
106         Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx \
107         Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx \
108         Test/mainsoft/NunitWebResources/Theme1.skin \
109         Test/mainsoft/NunitWebResources/Theme2.skin \
110         Test/mainsoft/NunitWebResources/UrlProperty.aspx \
111         Test/mainsoft/NunitWebResources/UrlProperty.ascx \
112         Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs \
113         Test/mainsoft/NunitWebResources/Web.sitemap \
114         Test/mainsoft/NunitWebResources/WizardTest.skin \
115         Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx \
116         Test/mainsoft/NunitWebResources/DataGrid.aspx \
117         Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx \
118         Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx \
119         Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx \
120         Test/mainsoft/NunitWebResources/Bluehills.jpg \
121         Test/mainsoft/NunitWebResources/FormViewTest1.aspx \
122         Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx \
123         Test/mainsoft/NunitWebResources/GridViewUpdate.aspx \
124         Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml \
125         Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl \
126         Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx \
127         Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx \
128         Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx \
129         Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx \
130         Test/mainsoft/NunitWebResources/LoginViewTest1.aspx \
131         Test/mainsoft/NunitWebResources/WebControl.config \
132         Test/mainsoft/NunitWebResources/WebLogin.config \
133         Test/mainsoft/NunitWebResources/CallbackTest1.aspx \
134         Test/mainsoft/NunitWebResources/CallbackTest2.aspx \
135         Test/mainsoft/NunitWebResources/EventValidationTest2.aspx \
136         Test/mainsoft/NunitWebResources/EventValidationTest1.aspx \
137         Test/mainsoft/NunitWebResources/ClientScript.js \
138         Test/mainsoft/NunitWebResources/EvalTest.aspx \
139         Test/mainsoft/NunitWebResources/TemplateUserControl.ascx \
140         Test/mainsoft/NunitWebResources/WebMapping.config \
141         Test/mainsoft/NunitWebResources/Mapping.aspx \
142         Test/mainsoft/NunitWebResources/Mapping1.aspx \
143         Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx \
144         Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx \
145         Test/mainsoft/NunitWebResources/MyDerived.master \
146         Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx \
147         Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx \
148         Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx \
149         Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx \
150         Test/mainsoft/NunitWebResources/PageValidationTest.aspx \
151         Test/mainsoft/NunitWebResources/AsyncPage.aspx \
152         Test/mainsoft/NunitWebResources/PageCultureTest.aspx \
153         Test/mainsoft/NunitWebResources/adapters.browser \
154         Test/mainsoft/NunitWebResources/NoEventValidation.aspx \
155         Test/mainsoft/NunitWebResources/ListControlPage.aspx \
156         Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx \
157         Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx \
158         Test/mainsoft/NunitWebResources/RedirectOnError.aspx \
159         Test/mainsoft/NunitWebResources/TestCapability.browser \
160         Test/mainsoft/NunitWebResources/PageWithAdapter.aspx \
161         Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx \
162         Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx \
163         Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx \
164         Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx \
165         Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx \
166         Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx \
167         Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx \
168         Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx \
169         Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx \
170         Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx \
171         Test/mainsoft/MainsoftWebTest/nunitweb_config.xml \
172         Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx \
173         Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx \
174         Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master \
175         Test/mainsoft/NunitWebResources/MissingMasterFile.aspx \
176         Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx \
177         Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx \
178         Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs \
179         Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx \
180         Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx \
181         Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx \
182         Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx \
183         Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx \
184         Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx \
185         Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx \
186         Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx \
187         Test/mainsoft/NunitWebResources/FullTagsInText.aspx \
188         Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx \
189         Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx \
190         Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx \
191         Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx \
192         Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx \
193         Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx \
194         Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx \
195         Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx \
196         Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs
197
198 RESX_DIST =  resources/TranslationResources.resx
199 ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
200 RESX_RES = $(RESX_DIST:.resx=.resources)
201 endif
202
203 NUNIT_RESOURCE_FILES = $(TEST_RESOURCE_FILES)
204 ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
205 OTHER_RES += $(RESOURCE_FILES_2)
206 OTHER_LIB_MCS_FLAGS = -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll
207 endif
208
209 LIB_MCS_FLAGS = \
210         -unsafe \
211         -nowarn:612,618 \
212         -r:$(corlib)                    \
213         -r:System.dll                   \
214         -r:System.Drawing.dll           \
215         -r:System.Data.dll              \
216         -r:System.Xml.dll               \
217         -r:System.EnterpriseServices.dll \
218         $(OTHER_LIB_MCS_FLAGS) \
219         $(RESX_RES:%=/resource:%) \
220         $(OTHER_RES:%=/resource:%)
221
222 ifneq ($(CYCLIC_DEPS:%=../lib/$(PROFILE)/%), $(CYCLIC_DEP_FILES))
223 NO_SIGN_ASSEMBLY = yes
224 NO_INSTALL = yes
225 all-local: System.Web/UplevelHelper.cs resources/TranslationResources.resources echo-warning echo-warning-systemcore
226 .PHONY: echo-warning echo-warning-systemcore
227
228 ifeq   (, $(strip $(CYCLIC_DEP_FILES)))
229 echo-warning:
230         @echo "** Warning: System.Web.dll built without parts that depend on: $(CYCLIC_DEPS)"
231 endif
232 endif
233
234 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
235 ifndef SYSTEMCORE_DEP_FILE
236 echo-warning-systemcore:
237         @echo "** Warning: System.Web.dll built without parts that depend on $(SYSTEMCORE_DEP)"
238 endif
239 endif
240
241 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -doc:$(test_lib:.dll=.xml) -nowarn:219,169,1591 $(NUNIT_RESOURCE_FILES:%=/resource:%) -r:SystemWebTestShim.dll
242 ifeq (net_2_0, $(PROFILE))
243 TEST_MCS_FLAGS += -r:System.Web.Extensions.dll
244 endif
245
246 EXTRA_DISTFILES = $(RESOURCE_FILES_2) $(RESOURCE_FILES_1) $(TEST_RESOURCE_FILES) UplevelHelperDefinitions.xml $(RESX_DIST) \
247                   SQLiteProviders_DatabaseSchema.sql
248 BUILT_SOURCES = System.Web/UplevelHelper.cs 
249
250 include ../../build/library.make
251
252 ifdef WEBSERVICES_DEP_FILE
253 LIB_MCS_FLAGS += -define:WEBSERVICES_DEP -r:$(WEBSERVICES_DEP)
254 $(build_lib): $(WEBSERVICES_DEP_FILE)
255 endif
256
257 ifdef MONOWEB_DEP_FILE
258 LIB_MCS_FLAGS += -define:MONOWEB_DEP -r:$(MONOWEB_DEP)
259 $(build_lib): $(MONOWEB_DEP_FILE)
260 endif
261
262 ifdef SYSTEMCORE_DEP_FILE
263 LIB_MCS_FLAGS += -define:SYSTEMCORE_DEP -r:$(SYSTEMCORE_DEP)
264 $(build_lib): $(SYSTEMCORE_DEP_FILE)
265 endif
266
267 ifdef DEBUG
268 LIB_MCS_FLAGS += -define:DEBUG
269 endif
270
271 ifdef TRACE
272 LIB_MCS_FLAGS += -define:TRACE
273 endif
274
275 ifdef MONO_TRACE
276 LIB_MCS_FLAGS += -define:TRACE -define:MONO_TRACE
277 endif
278
279 ifdef PIPELINE_TIMER
280 LIB_MCS_FLAGS += -define:PIPELINE_TIMER
281 endif
282
283 ifdef DEVEL
284 LIB_MCS_FLAGS += -define:DEVEL
285 endif
286
287 $(build_lib): $(RESX_RES) $(RESOURCE_FILES_2) $(RESOURCE_FILES_1)
288
289 $(RESX_RES): %.resources: %.resx
290         $(RESGEN) `echo $< | $(PLATFORM_CHANGE_SEPARATOR_CMD)`
291
292 System.Web/UplevelHelper.cs: UplevelHelperDefinitions.xml
293         $(TEST_RUNTIME) $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)/culevel.exe -o $@ $^
294
295 run-aaa: test
296         $(TEST_RUNTIME) $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) \
297         /output:TestResult-$(PROFILE).log /include:aaa /xml:TestResult-$(PROFILE).xml $(test_assemblies) || ok=false; \
298         (echo ''; cat TestResult-$(PROFILE).log) | sed '1,/^Tests run: /d'; \
299         $$ok
300
301 run-nunitweb: test
302         $(TEST_RUNTIME) $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) \
303         /output:TestResult-$(PROFILE).log /include:NunitWeb /xml:TestResult-$(PROFILE).xml $(test_assemblies) || ok=false; \
304         (echo ''; cat TestResult-$(PROFILE).log) | sed '1,/^Tests run: /d'; \
305         $$ok
306
307 run-nunitweb-ondotnet: test
308         $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) \
309         /output:TestResult-ondotnet-$(PROFILE).log /include:NunitWeb /xml:TestResult-ondotnet-$(PROFILE).xml $(test_assemblies) || ok=false; \
310         (echo ''; cat TestResult-ondotnet-$(PROFILE).log) | sed '1,/^Tests run: /d'; \
311         $$ok
312