Alright folks...we are using RPE and DOORS. Documents publish really well. However, we noticed that the default .dxl script (doorsToXml9301.dxl) is just a dxl with #includes of .inc files. I believe they are using these .inc files for proprietary reasons, which is great for them, but I have two issues: 1) When RPE runs, it get's exponentially slower with more objects. We have a module with 21K+ objects, and I can assure you I have done everything humanly possible to make this all run faster (condition statements in my RPE Template, filter default view, etc.) The total process takes 6+ hours. This is far too long and is becoming a serious issues. So, I would like to know what is happening inside these .inc files. Is it possible to get that? 2) Say I am not allowed to know...perhaps I can re-write them my own way. But, if I re-write them, I would like to license them with my company's information and compile them into .inc files, as IBM has done with theirs. How do I compile these .inc files for use within .dxl? What are the "rules" to doing that? Are there restrictions? Do I have to use a specific compiler? Please advise! Thanks in advance for all the hard work! Scott ScottKirkwood - Thu Apr 06 10:35:29 EDT 2017 |
Re: How to compile .inc files You don't. DXL is an interpreted language, not compiled, the include option just loads an external file to be interpreted.
IBM has encrypted those include files though, to protect their IP. |
Re: How to compile .inc files |
Re: How to compile .inc files ScottKirkwood - Thu Apr 06 13:51:19 EDT 2017 .inc files are just normal .dxl files with another file extension. In C they would be called .h files. See https://www.ibm.com/developerworks/community/forums/html/topic?id=a6069b92-b770-4549-8c85-a911ec6c5930 |
Re: How to compile .inc files Mike.Scharnow - Fri Apr 07 11:51:50 EDT 2017 .inc files are just normal .dxl files with another file extension. In C they would be called .h files. See https://www.ibm.com/developerworks/community/forums/html/topic?id=a6069b92-b770-4549-8c85-a911ec6c5930 So, if you look at the doorsToXml9301.dxl file that I attached in my original post, you will see various .inc files. I was curious, so I opened one of those .inc files. The attached image is what I see. As you too can see, this .inc file is compiled. So, while I COMPLETELY understand the argument that .dxl is "interpreted", .inc are compiled, and thus the code is proprietary. You said,
I would have to respectfully disagree. In C, header files (.h) are raw text files, just as much as the .c files, except that in order to "run" that code, a compiler creates machine language out of ALL of the code, thus compiling a binary, of which the binary is "run". Again, this application was found as part of the default installation of rpe-1.3.0 (and I'm sure this same implementation is used in older versions as well). So, back to the question....how would I too be able to create a .inc (a compiled format) containing functions which we need for proprietary use??
Thanks for helping! Scott Attachments inc file.png |
Re: How to compile .inc files ScottKirkwood - Fri Apr 07 12:54:40 EDT 2017 So, if you look at the doorsToXml9301.dxl file that I attached in my original post, you will see various .inc files. I was curious, so I opened one of those .inc files. The attached image is what I see. As you too can see, this .inc file is compiled. So, while I COMPLETELY understand the argument that .dxl is "interpreted", .inc are compiled, and thus the code is proprietary. You said,
I would have to respectfully disagree. In C, header files (.h) are raw text files, just as much as the .c files, except that in order to "run" that code, a compiler creates machine language out of ALL of the code, thus compiling a binary, of which the binary is "run". Again, this application was found as part of the default installation of rpe-1.3.0 (and I'm sure this same implementation is used in older versions as well). So, back to the question....how would I too be able to create a .inc (a compiled format) containing functions which we need for proprietary use??
Thanks for helping! Scott Well, no, the files are not compiled, they are encrypted, as Pekka already told you. You can encrypt any DXL file, independent of whether you name them file.dxl, file.inc, file.h or file.includeme (well, there are some things to look at, see referenced posts and below) and that has nothing to do with inclusion of files in other files. You can include any readable file, encrypted or unencrypted, into your code using the #include command. As to the question how to encrypt a DXL file, you can use the forum search (and will probably detect https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014571977) or google (and might see http://www-01.ibm.com/support/docview.wss?uid=swg21568530).
One thing to regard is that DXL main program files which are started in DOORS batch mode must not be encrypted, that's one of the reasons why you might see unencrypted files with only little content that mainly consist of #includes. |
Re: How to compile .inc files Mike.Scharnow - Fri Apr 07 14:54:10 EDT 2017 Well, no, the files are not compiled, they are encrypted, as Pekka already told you. You can encrypt any DXL file, independent of whether you name them file.dxl, file.inc, file.h or file.includeme (well, there are some things to look at, see referenced posts and below) and that has nothing to do with inclusion of files in other files. You can include any readable file, encrypted or unencrypted, into your code using the #include command. As to the question how to encrypt a DXL file, you can use the forum search (and will probably detect https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014571977) or google (and might see http://www-01.ibm.com/support/docview.wss?uid=swg21568530).
One thing to regard is that DXL main program files which are started in DOORS batch mode must not be encrypted, that's one of the reasons why you might see unencrypted files with only little content that mainly consist of #includes. Oops: I stand corrected. After reading the post I just referenced, I learned that also files that shall be started from a menu need to be unencrypted, So, I'd say you are right in stating that encryption and inclusion of files are somehow related: it seems to be the #include command that is able to decrypt files, not the DOORS client itself.
Edit: Still, encryption of include files is done as an optional extra step and usually not performed, so there is really no compilation involved, inclusion is mainly done to structure your source code, but can also be used for information hiding. |
Re: How to compile .inc files Mike.Scharnow - Fri Apr 07 14:54:10 EDT 2017 Well, no, the files are not compiled, they are encrypted, as Pekka already told you. You can encrypt any DXL file, independent of whether you name them file.dxl, file.inc, file.h or file.includeme (well, there are some things to look at, see referenced posts and below) and that has nothing to do with inclusion of files in other files. You can include any readable file, encrypted or unencrypted, into your code using the #include command. As to the question how to encrypt a DXL file, you can use the forum search (and will probably detect https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014571977) or google (and might see http://www-01.ibm.com/support/docview.wss?uid=swg21568530).
One thing to regard is that DXL main program files which are started in DOORS batch mode must not be encrypted, that's one of the reasons why you might see unencrypted files with only little content that mainly consist of #includes. |