| Left: | ||
| Right: |
| LEFT | RIGHT |
|---|---|
| 1 Adblock Plus for Internet Explorer | 1 Adblock Plus for Internet Explorer |
| 2 ================================== | 2 ================================== |
| 3 | 3 |
| 4 This combines a Browser Helper Object with a singleton engine process to block | 4 This combines a Browser Helper Object with a singleton engine process to block |
| 5 ads in Internet Explorer. The engine process embeds libadblockplus. | 5 ads in Internet Explorer. The engine process embeds libadblockplus. |
| 6 | 6 |
| 7 Requirements to work with the repository and the code | 7 Requirements to work with the repository and the code |
| 8 ----------------------------------------------------- | 8 ----------------------------------------------------- |
| 9 | 9 |
| 10 ### Python | 10 ### Python |
| 11 You need to have installed python 2+ (tested with python 2.7). It should be | 11 You need to have installed python 2.7. It should be the version available by |
| 12 the version available by default from Visual Studio as well as in your | 12 default from Visual Studio as well as in your command line environment. |
| 13 command line environment. Simply put, make sure that path to `python.exe` is in | 13 Simply put, make sure that path to `python.exe` is in your `PATH` environment |
| 14 your `PATH` environment variable. | 14 variable. |
| 15 | 15 |
|
Eric
2015/11/14 18:39:01
This section is good. It's adequately descriptive.
| |
| 16 ### Visual C++ toolset | 16 ### Visual C++ toolset |
| 17 There should be available v110 and v110_xp toolsets. For instance, they are | 17 There should be available v110 and v110_xp toolsets. For instance, they are |
| 18 contained in freely available Visual Studio 2012 Express for Windows Desktop | 18 contained in freely available Visual Studio 2012 Express for Windows Desktop |
| 19 and in any paid edition of Visual Studio 2012. Take into account that you might | 19 and in any paid edition of Visual Studio 2012. Take into account that you might |
| 20 need to get the recent updates of mentioned editions, more details about | 20 need to get the recent updates of mentioned editions, more details about |
| 21 v110_xp https://msdn.microsoft.com/en-us/library/jj851139.aspx. | 21 v110_xp https://msdn.microsoft.com/en-us/library/jj851139.aspx. |
| 22 | 22 |
| 23 ### ATL versions | 23 ### ATL versions |
| 24 It works with ATL shipped with any paid edition of Visual Studio 2012 as well | 24 It works with ATL shipped with any paid edition of Visual Studio 2012 as well |
| 25 as with ATL shipped with Visual Studio 2013 Community edition. | 25 as with ATL shipped with Visual Studio 2013 Community edition. |
| 26 If you use Visual Studio 2013 Community Edition as the source of ATL then set | 26 If you use Visual Studio 2013 Community Edition as the source of ATL then set |
| 27 `ATLDir` environment variable to the directory of the corresponding ATL (e.g, | 27 `ADBLOCKPLUS_ATL` environment variable to the directory of the corresponding |
|
Eric
2015/11/14 18:39:01
Nit: As a convention, environment variables are al
| |
| 28 `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc`) | 28 ATL (e.g, `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc`) |
| 29 Attention: | 29 Attention: |
| 30 - ATL is not shipped with Express edition of any Visual Studio. | 30 - ATL is not shipped with Express edition of any Visual Studio. |
| 31 - ATL from Visual Studio 2015 is not supported. | 31 - ATL from Visual Studio 2015 is not supported. |
| 32 More information about libraies and headers in Visual Studios: | 32 More information about libraies and headers in Visual Studios: |
| 33 2015 - https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.140).aspx | 33 2015 - https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.140).aspx |
| 34 2013 - https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx | 34 2013 - https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx |
| 35 2012 - https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.110).aspx | 35 2012 - https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.110).aspx |
| 36 | 36 |
| 37 ### Visual Studio as an IDE | 37 ### Visual Studio as an IDE |
| 38 Currently the project configured to work with Visual Studio 2012 as an IDE. | 38 Currently the project configured to work with MS Visual Studio 2012 as an IDE |
| 39 Any other higher version of Visual Studio can be used but require additional | 39 because the main development and release builds are in Visual Studio 2012. |
| 40 efforts. | 40 However one can also use any higher version of Visual Studio as and IDE, the |
|
Eric
2015/11/14 18:39:01
Actually, there's zero extra work to use, say, VS
| |
| 41 | 41 caveat is to disable "Upgrade C++ Compilers and Libraries". |
| 42 | 42 |
| 43 Getting/updating the dependencies | 43 Getting/updating the dependencies |
| 44 --------------------------------- | 44 --------------------------------- |
| 45 | 45 |
| 46 adblockplusie has dependencies that aren't part of this repository. They are | 46 adblockplusie has dependencies that aren't part of this repository. They are |
| 47 retrieved and updated when you're generating the VS solution for the build, but | 47 retrieved and updated when you're generating the VS solution for the build, but |
| 48 you can also manually update them by running the following: | 48 you can also manually update them by running the following: |
| 49 | 49 |
| 50 ./ensure_dependencies.py | 50 ./ensure_dependencies.py |
| 51 | 51 |
| 52 Building | 52 Building |
| 53 -------- | 53 -------- |
| 54 | 54 |
| 55 Building is tested on the following configurations | 55 Building is tested on the following configurations |
| 56 - [free for everybody] "Microsoft Visual Studio Express 2012 for Windows | 56 - [free for everybody] "Microsoft Visual Studio Express 2012 for Windows |
| 57 Desktop" with "Microsoft Visual Studio Community 2013" as the source of ATL. | 57 Desktop" as the source of toolset with "Microsoft Visual Studio Community 2013" |
|
Eric
2015/11/14 18:39:00
This item is still a bit confusing. I'd explicitly
| |
| 58 - "Microsoft Visual Studio Express 2012 for Windows Desktop" with "Microsoft | 58 as the source of ATL. Pay attention to the configuring of the environment |
| 59 Visual Studio Professional 2012" as the source of ATL. | 59 described in "ATL versions" section. |
|
Eric
2015/11/14 18:39:00
Is there anybody who would use Express if Professi
| |
| 60 - "Microsoft Visual Studio Professional 2012" | 60 - "Microsoft Visual Studio Professional 2012" |
| 61 - "Microsoft Visual Studio Ultimate 2012" | 61 - "Microsoft Visual Studio Ultimate 2012" |
| 62 | 62 |
| 63 * Execute `createsolution.bat` to retrieve dependencies and generate project | 63 * Execute `createsolution.bat` to retrieve dependencies and generate project |
| 64 files, this will create `build\ia32\adblockplus.sln` (solution for the 32 bit | 64 files, this will create `build\ia32\adblockplus.sln` (solution for the 32 bit |
| 65 build) and `build\x64\adblockplus.sln` (solution for the 64 bit build). | 65 build) and `build\x64\adblockplus.sln` (solution for the 64 bit build). |
| 66 Unfortunately, V8 (which is used by libadblockplus) doesn't support creating | 66 Unfortunately, V8 (which is used by libadblockplus) doesn't support creating |
| 67 both from the same project files. | 67 both from the same project files. |
| 68 * Open `build\ia32\adblockplus.sln` or `build\x64\adblockplus.sln` in | 68 * Open `build\ia32\adblockplus.sln` or `build\x64\adblockplus.sln` in |
| 69 Visual Studio and build the solution there. Alternatively you can use the | 69 Visual Studio and build the solution there. Alternatively you can use the |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 92 files, this will create a bunch of project files in the _installer\build\ia32_ | 92 files, this will create a bunch of project files in the _installer\build\ia32_ |
| 93 and _installer\build\x64_ directories. | 93 and _installer\build\x64_ directories. |
| 94 * Open and build `installer\build\ia32\installer.sln` and | 94 * Open and build `installer\build\ia32\installer.sln` and |
| 95 `installer\build\x64\installer.sln` in Visual Studio. Alternatively you can use | 95 `installer\build\x64\installer.sln` in Visual Studio. Alternatively you can use |
| 96 the `msbuild` command line tool, i.e. run | 96 the `msbuild` command line tool, i.e. run |
| 97 `msibuild /m installer\build\ia32\adblockplus.sln` and | 97 `msibuild /m installer\build\ia32\adblockplus.sln` and |
| 98 `msibuild /m installer\build\x64\adblockplus.sln` from the Visual Studio | 98 `msibuild /m installer\build\x64\adblockplus.sln` from the Visual Studio |
| 99 Developer Command Prompt. | 99 Developer Command Prompt. |
| 100 * Either open and compile `installer\src\innosetup-exe\64BitTwoArch.iss` in | 100 * Either open and compile `installer\src\innosetup-exe\64BitTwoArch.iss` in |
| 101 InnoSetup or run `iscc.exe installer\src\innosetup-exe\64bitTwoArch.iss`. | 101 InnoSetup or run `iscc.exe installer\src\innosetup-exe\64bitTwoArch.iss`. |
| LEFT | RIGHT |