You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "David Wendt (JIRA)" <xe...@xml.apache.org> on 2009/12/09 15:29:18 UTC

[jira] Created: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
--------------------------------------------------------------------

                 Key: XERCESC-1900
                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
             Project: Xerces-C++
          Issue Type: Improvement
          Components: Build
    Affects Versions: 3.0.1
         Environment: Windows OS.
            Reporter: David Wendt
            Priority: Trivial


The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 

Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.

I can provide the modified .vcproj. 
Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "David Wendt (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789921#action_12789921 ] 

David Wendt commented on XERCESC-1900:
--------------------------------------

I have no objections to closing this issue. 
Thanks.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Closed: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org>.
     [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Boris Kolpackov closed XERCESC-1900.
------------------------------------

    Resolution: Invalid

Closing this issue.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "Scott Cantor (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788127#action_12788127 ] 

Scott Cantor commented on XERCESC-1900:
---------------------------------------

As an option, it's fine, but 99% of today's apps assume DLL-based runtimes and mixing runtime models in a program stack crashes (or used to) due to memory management issues.

You should probably consider bundling MS' runtime library merge modules into your installer.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "David Wendt (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788134#action_12788134 ] 

David Wendt commented on XERCESC-1900:
--------------------------------------

The MS runtime merge modules more than doubled our install size. I'm ok with the 90KB increase. The code works great on the test machines we have. Is there any issue (licensing, etc) with me shipping this rebuilt statically linked version? No code was changed. Just the project file.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788172#action_12788172 ] 

Boris Kolpackov commented on XERCESC-1900:
------------------------------------------

I agree with Scott's reasoning plus I don't think we should create special configurations for this case. We already have a large number of them (Debug/Release x 32/64 x ICU/no-ICU, etc) and it is getting harder and harder to maintain. On the other hand, changing the runtime flag in the existing configuration is trivially easy. 

If there are no objections, I would like to close this issue.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "Scott Cantor (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788136#action_12788136 ] 

Scott Cantor commented on XERCESC-1900:
---------------------------------------

It's not a licensing issue, it's a "if you change this for everybody else, most code in the world using Xerces on Windows will crash" issue.

If they want to add optional build targets, that's fine, but as a default it's entirely the wrong choice.

Note that MS itself now defaults builds to the DLL version, I believe, and has generally steered everybody that way so that they can properly address security fixes to the runtime. Your approach as with all static linking makes you responsible for all fixes.

If you're worried about disk size, just offer it as a separate download.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1900) Compile xerces.dll using /MT to remove the dependency on msvcr90.dll

Posted by "David Wendt (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788139#action_12788139 ] 

David Wendt commented on XERCESC-1900:
--------------------------------------

Ok, I understand. Thanks Scott.

> Compile xerces.dll using /MT to remove the dependency on msvcr90.dll
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1900
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1900
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: Windows OS.
>            Reporter: David Wendt
>            Priority: Trivial
>
> The xerces-c_3_0.dll requires msvc90.dll to be installed. We have found that some of our customers do not have the msvcr90.dll installed on their machines. 
> Changing the compile flag from /MD to /MT for the Release configuration will remove the dependency (compiles all needed C-runtime code into the xerces DLL itself). The result is a 90KB bigger DLL which is only about 6% increase in size.
> I can provide the modified .vcproj. 
> Another option is to create a separate Release configuration with this compile option too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org